Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Equivalence de fonction VBA en Macro excel

6 réponses
Avatar
panorama102001
Bonsoir
Je souhaite chercher une formule/foncion en MACRO EXCEL 4 =E9quivalente
=E0

Selection.End(xlDown).Select
Pourriez-vous m'aider , SVP
Merci d'avance

My

6 réponses

Avatar
JpPradier
Bonjour My

Un debut de piste :

=SEL.CLASSEUR("feuil1")
=SELECTIONNER(DECALER(Feuil1!A1;0;0;NBVAL(Feuil1!A:A);1))


j-p
Avatar
Michel Gaboly
Bonjour,

Pas de solution strictement équivalente à ma connaissance.

LIRE.DOCUMENT(10) renvoie le numéro de la dernière ligne utilisée d ans la feuille active

Si le document ne comporte pas de cellule vide dans la zone utilisée,

=SELECTIONNER("L" & LIRE.DOCUMENT(10) & "C")

répondra à ta demande.


Dis plus précisément ce qu tu veux faire, ce sera + facile de t'aider .


Par exemple, s'il s'agit de reporter sur une ligne les données d'une zo ne de dialogue, en passant à chaque fois à la
ligne suivante, voici comment je m'y prenais :

Avant de reporter quoi que ce soit dans la feuille concernée, j'y déf inissais une celule nommée "RéceptionDonnées"

Avec Nom, Prénom et Adresse1 qui sont 3 données d'une zone de dialoge , nommée "DTest" à reporter dans 3 colonnes
consécutives :

=ZONE.DE.DIALOGUE(DTest)
= SI(C8 = 1)
= FORMULE(Nom;!RéceptionDonnées)
= FORMULE(Prénom;DECALER(!RéceptionDonnées;0;1))
= FORMULE(Adresse1;DECALER(!RéceptionDonnées;0;2))
= DEFINIR.NOM("RéceptionDonnées";DECALER(!RéceptionDon nées;1;0))
= FIN.SI()
=RETOUR()

Le traitement reporte les 3 données dans la cellule "RéceptionDonné es" et les 2 cellules situées à la droite de
celle-ci, puis met à jour l'emplacement de "RéceptionDonnées" en le décalant d'une ligne vers le bas.


A ta disposition pour + d'infos. N'hésite pas, les occasions de pratiqu er les anciennes macros sont trop rares.


Bonsoir
Je souhaite chercher une formule/foncion en MACRO EXCEL 4 équivalente
à

Selection.End(xlDown).Select
Pourriez-vous m'aider , SVP
Merci d'avance

My




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
panorama102001
Bonsoir Michel,

Merci pour la formule
=SELECTIONNER("L" & LIRE.DOCUMENT(10) & "C")

Je l'ai testée sur mes 2 tableaux
C'est drôle, sur l'un, elle donne bien la première ligne vide (c'est
ce que je cherche à faire)
Mais sur le 2è tableau, elle donne la 2è ligne vide !
Mais cela peut faire l'affaire ! merci bien !

En fait, en attendant les aides, j'ai inclus dans ma macro, la
sous-macro VBA (avec la formule Selection.End(xlDown).Select). Et elle
a marché aussi!

Je ne fais que des macros excel. Pas eu l'occasion de me former sur VBA
! et c'est bien dommage !

BOnsoir JP

J'ai aussi essayé de recopier votre formule sur la feuille macro. Mais
elle ne l'accepte pas ! :-(

Merci quand même


My









Bonjour,

Pas de solution strictement équivalente à ma connaissance.

LIRE.DOCUMENT(10) renvoie le numéro de la dernière ligne utilisée d ans la feuille active

Si le document ne comporte pas de cellule vide dans la zone utilisée,

=SELECTIONNER("L" & LIRE.DOCUMENT(10) & "C")

répondra à ta demande.


Dis plus précisément ce qu tu veux faire, ce sera + facile de t'aider.


Par exemple, s'il s'agit de reporter sur une ligne les données d'une zo ne de dialogue, en passant à chaque fois à la
ligne suivante, voici comment je m'y prenais :

Avant de reporter quoi que ce soit dans la feuille concernée, j'y déf inissais une celule nommée "RéceptionDonnées"

Avec Nom, Prénom et Adresse1 qui sont 3 données d'une zone de dialoge , nommée "DTest" à reporter dans 3 colonnes
consécutives :

=ZONE.DE.DIALOGUE(DTest)
= SI(C8 = 1)
= FORMULE(Nom;!RéceptionDonnées)
= FORMULE(Prénom;DECALER(!RéceptionDonnées;0;1))
= FORMULE(Adresse1;DECALER(!RéceptionDonnées;0;2))
= DEFINIR.NOM("RéceptionDonnées";DECALER(!RéceptionDon nées;1;0))
= FIN.SI()
=RETOUR()

Le traitement reporte les 3 données dans la cellule "RéceptionDonné es" et les 2 cellules situées à la droite de
celle-ci, puis met à jour l'emplacement de "RéceptionDonnées" en le décalant d'une ligne vers le bas.


A ta disposition pour + d'infos. N'hésite pas, les occasions de pratiqu er les anciennes macros sont trop rares.


Bonsoir
Je souhaite chercher une formule/foncion en MACRO EXCEL 4 équivalente
à

Selection.End(xlDown).Select
Pourriez-vous m'aider , SVP
Merci d'avance

My




--
Cordialement,

Michel Gaboly
www.gaboly.com



Avatar
Michel Gaboly
Bonsoir,

De rien ;-))

Le problème est très probablement lié à l'emplacement de la derni ère cellule qui a toujours été peu fiable. Prend
souvent en compte des cellules vides qui ont eu un format particulier où ont été utilisées d'une façon quelconque, et
qui ne devraient plus intervenir dans la détermination de la dernière cellule.

A bientôt ;


NB - J'ai d'excellents souvenirs des anciennes macros. Je serai ravi de r épondre à d'autres questions.


Bonsoir Michel,

Merci pour la formule
=SELECTIONNER("L" & LIRE.DOCUMENT(10) & "C")

Je l'ai testée sur mes 2 tableaux
C'est drôle, sur l'un, elle donne bien la première ligne vide (c'es t
ce que je cherche à faire)
Mais sur le 2è tableau, elle donne la 2è ligne vide !
Mais cela peut faire l'affaire ! merci bien !

En fait, en attendant les aides, j'ai inclus dans ma macro, la
sous-macro VBA (avec la formule Selection.End(xlDown).Select). Et elle
a marché aussi!

Je ne fais que des macros excel. Pas eu l'occasion de me former sur VBA
! et c'est bien dommage !

BOnsoir JP

J'ai aussi essayé de recopier votre formule sur la feuille macro. Mai s
elle ne l'accepte pas ! :-(

Merci quand même


My









Bonjour,

Pas de solution strictement équivalente à ma connaissance.

LIRE.DOCUMENT(10) renvoie le numéro de la dernière ligne utilisé e dans la feuille active

Si le document ne comporte pas de cellule vide dans la zone utilisée ,

=SELECTIONNER("L" & LIRE.DOCUMENT(10) & "C")

répondra à ta demande.


Dis plus précisément ce qu tu veux faire, ce sera + facile de t'ai der.


Par exemple, s'il s'agit de reporter sur une ligne les données d'une zone de dialogue, en passant à chaque fois à la
ligne suivante, voici comment je m'y prenais :

Avant de reporter quoi que ce soit dans la feuille concernée, j'y dé finissais une celule nommée "RéceptionDonnées"

Avec Nom, Prénom et Adresse1 qui sont 3 données d'une zone de dial oge, nommée "DTest" à reporter dans 3 colonnes
consécutives :

=ZONE.DE.DIALOGUE(DTest)
= SI(C8 = 1)
= FORMULE(Nom;!RéceptionDonnées)
= FORMULE(Prénom;DECALER(!RéceptionDonnées;0;1))
= FORMULE(Adresse1;DECALER(!RéceptionDonnées;0;2))
= DEFINIR.NOM("RéceptionDonnées";DECALER(!Réception Données;1;0))
= FIN.SI()
=RETOUR()

Le traitement reporte les 3 données dans la cellule "RéceptionDonn ées" et les 2 cellules situées à la droite de
celle-ci, puis met à jour l'emplacement de "RéceptionDonnées" en le décalant d'une ligne vers le bas.


A ta disposition pour + d'infos. N'hésite pas, les occasions de prat iquer les anciennes macros sont trop rares.


Bonsoir
Je souhaite chercher une formule/foncion en MACRO EXCEL 4 équivalen te
à

Selection.End(xlDown).Select
Pourriez-vous m'aider , SVP
Merci d'avance

My



--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com



Avatar
JpPradier
BOnsoir JP

J'ai aussi essayé de recopier votre formule sur la feuille macro. Mais
elle ne l'accepte pas ! :-(



Bonsoir

As-tu changé feuil1 pour le nom de ta feuille ?

j-p

Avatar
panorama102001
Oui !
Et je viens de refaire en mettant le nom de ma feuille entre guillemet
' . La formule est acceptée, mais comme résultat elle me sélectionne
toute la colonne A, et non la première ligne vide

J'ai peut être oublié qqc ! vais re-vérifier !
My



BOnsoir JP

J'ai aussi essayé de recopier votre formule sur la feuille macro. Mais
elle ne l'accepte pas ! :-(



Bonsoir

As-tu changé feuil1 pour le nom de ta feuille ?

j-p