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

vba Convertir une formule en vba

14 réponses
Avatar
j-pascal
Bonjour,

Comment convertir ce qui suit en vba :

=ADRESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP

10 réponses

1 2
Avatar
stéphane
Bonjour,

par exemple

ActiveCell.FormulaR1C1 = "­DRESS(1,1) & "":"" &
ADDRESS(COUNTA(R[5]C[-3]:R[154]C[-3])+7,13)"


pour trouver les commandes VBA, utiliser l'enregistreur de macros

Stéphane


"j-pascal" a écrit dans le message de news:

Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP




Avatar
isabelle
bonjour JP,

x = Range("A1:M" & Application.CountA(Range("A8:A157")) + 7).Address

isabelle

j-pascal a écrit :
Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP




Avatar
j-pascal
Bonjour Isabelle,

Parfait ! Merci ... bcp !

JP

bonjour JP,

x = Range("A1:M" & Application.CountA(Range("A8:A157")) + 7).Address

isabelle

j-pascal a écrit :
Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP






Avatar
j-pascal
Bonjour Stéphane,

Merci.
J'avais essayé avec l'enregistreur de macro et j'avais trouvé à peu
près ce que tu me proposes. Je préfère la forme sans "RC" cf. réponse
d'Isabelle ; mais je ne l'avais pas précisé...

JP
Bonjour,

par exemple

ActiveCell.FormulaR1C1 = "­DRESS(1,1) & "":"" &
ADDRESS(COUNTA(R[5]C[-3]:R[154]C[-3])+7,13)"


pour trouver les commandes VBA, utiliser l'enregistreur de macros

Stéphane


"j-pascal" a écrit dans le message de news:

Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP






Avatar
michdenis
Une façon générale pour obtenir ce que tu veux à partir de la fenêtre
d'édition du code

Suppose que ta formule est dans la cellule B1 d'une feuille de calcul

Dans la fenêtre de l'éditeur de code,

A ) tu affiches la fenêtre "Exécution"
Barre de menu : affichage / fenêtre Exécution
ou raccourci clavier Ctrl + G

B ) et tu utilises une ligne de code comme celle-ci pour
faire traduire ta formule :
Debug.Print Range("B1").Formula

Dans la fenêtre Exécution, tu auras :
­DRESS(1,1)&":"&ADDRESS(COUNTA(A8:A157)+7,13)

Si tu ne travailles pas sur excel 2007, la méthode précédente ne
traduit pas en anglais les fonctions émanant de la macro
complémentaire "utilitaire d'analyse" ... tu devras le faire manuellement.





"j-pascal" a écrit dans le message de news:

Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP
Avatar
j-pascal
Re,
En fait, dans la deuxième partie, j'ai changé le 13 (qui comme tu le
dis correspond à la colonne "M") par une variable (ce qui ne donnera
pas forcément "M" ... et là je suis un peu perdu ;-(
@+ ?
JP

ADRESSE(NBVAL(A8:A157)+7;13)
bonjour JP,

x = Range("A1:M" & Application.CountA(Range("A8:A157")) + 7).Address

isabelle

j-pascal a écrit :
Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP






Avatar
Modeste
Bonsour® j-pascal avec ferveur ;o))) vous nous disiez :

Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)
:
?


déja en simplifiant :
="A1:M"& NBVAL(A8:A157)+7

Range("A1:M" & Count(Range("A8:A157")+7)


--
--
@+
;o)))
Avatar
isabelle
bonjour JP,

y = 13
z = Application.CountA(Range("A8:A157")) + 7
x = Range(Cells(1, 1), Cells(z, y)).Address

isabelle

j-pascal a écrit :
Re,
En fait, dans la deuxième partie, j'ai changé le 13 (qui comme tu le dis
correspond à la colonne "M") par une variable (ce qui ne donnera pas
forcément "M" ... et là je suis un peu perdu ;-(
@+ ?
JP

ADRESSE(NBVAL(A8:A157)+7;13)
bonjour JP,

x = Range("A1:M" & Application.CountA(Range("A8:A157")) + 7).Address

isabelle

j-pascal a écrit :
Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP










Avatar
michdenis
Dim MyVar As Integer
MyVar = 5
x = Range("A1", Cells(Application.CountA(Range("A8:A157")) + 7,
MyVar)).Address

Pour que cela fonctionne, la variable MyVar se doit d'avoir
une valeur entre 1 et 256

Tu devrais utiliser cette syntaxe

Dim MyVar As Integer
MyVar = 5
With Feuil1 'Nom à adapter
x = .Range("A1", .Cells(Application.CountA(.Range("A8:A157")) + 7,
MyVar)).Address
End With

Feuil1 est la propriété "Name" de l'objet Feuille de la fenêtre
de l'éditeur de code et non le nom de l'onglet de la feuille.




"j-pascal" a écrit dans le message de news:

Re,
En fait, dans la deuxième partie, j'ai changé le 13 (qui comme tu le
dis correspond à la colonne "M") par une variable (ce qui ne donnera
pas forcément "M" ... et là je suis un peu perdu ;-(
@+ ?
JP

ADRESSE(NBVAL(A8:A157)+7;13)
bonjour JP,

x = Range("A1:M" & Application.CountA(Range("A8:A157")) + 7).Address

isabelle

j-pascal a écrit :
Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP






Avatar
j-pascal
Ouah, c'est puissant, mais je crois avoir compris sous réserve d'avoir
mis en pratique ;-)

Merci bcp

JP


bonjour JP,

y = 13
z = Application.CountA(Range("A8:A157")) + 7
x = Range(Cells(1, 1), Cells(z, y)).Address

isabelle

j-pascal a écrit :
Re,
En fait, dans la deuxième partie, j'ai changé le 13 (qui comme tu le dis
correspond à la colonne "M") par une variable (ce qui ne donnera pas
forcément "M" ... et là je suis un peu perdu ;-(
@+ ?
JP

ADRESSE(NBVAL(A8:A157)+7;13)
bonjour JP,

x = Range("A1:M" & Application.CountA(Range("A8:A157")) + 7).Address

isabelle

j-pascal a écrit :
Bonjour,

Comment convertir ce qui suit en vba :

­RESSE(1;1)&":"&ADRESSE(NBVAL(A8:A157)+7;13)

?

Merci pour vos lumières,

JP












1 2