J'ai posté un peu vite...... Mon souci n'est pas d'écrire dans une cellule en particulier, c'est d'écrire dans tout un range de la colonne N ThierryP
MichD
Le 08/03/22 Í 04:40, ThierryP a écrit :
Bonjour le forum ! Je patauge lamentablement dans quelque chose de simple :-( Par macro, je souhaite entrer en colonne N la formule : =A + "#" + E (N3£+"#" + E3,etc...) mais sans boucler sur la colonne. Et je sèche...... Merci d'avance Í tout généreux contributeur ! (au hasard.... Denis !!!) ThierryP
Bonjour, La question n'est pas claire. =A + "#" + E (N3£+"#" + E3,etc...) Quelle serait la syntaxe de ta formule si tu la créais directement dans une cellule? Que doit faire cette formule? Que représente la lettre A, E dans la formule? Que signifie l'expression "ect" dans la formule? O͹ veux-tu copier ta formule? Bonne chance de trouver une réponse satisfaisante Í ta question sur les forums Excel. MichD
Le 08/03/22 Í 04:40, ThierryP a écrit :
Bonjour le forum !
Je patauge lamentablement dans quelque chose de simple :-(
Par macro, je souhaite entrer en colonne N la formule : =A + "#" + E (N3£+"#" + E3,etc...) mais sans boucler sur la colonne.
Et je sèche......
Merci d'avance Í tout généreux contributeur ! (au hasard.... Denis !!!)
ThierryP
Bonjour,
La question n'est pas claire.
=A + "#" + E (N3£+"#" + E3,etc...)
Quelle serait la syntaxe de ta formule si tu la créais directement dans
une cellule?
Que doit faire cette formule?
Que représente la lettre A, E dans la formule?
Que signifie l'expression "ect" dans la formule?
O͹ veux-tu copier ta formule?
Bonne chance de trouver une réponse satisfaisante Í ta question sur les
forums Excel.
Bonjour le forum ! Je patauge lamentablement dans quelque chose de simple :-( Par macro, je souhaite entrer en colonne N la formule : =A + "#" + E (N3£+"#" + E3,etc...) mais sans boucler sur la colonne. Et je sèche...... Merci d'avance Í tout généreux contributeur ! (au hasard.... Denis !!!) ThierryP
Bonjour, La question n'est pas claire. =A + "#" + E (N3£+"#" + E3,etc...) Quelle serait la syntaxe de ta formule si tu la créais directement dans une cellule? Que doit faire cette formule? Que représente la lettre A, E dans la formule? Que signifie l'expression "ect" dans la formule? O͹ veux-tu copier ta formule? Bonne chance de trouver une réponse satisfaisante Í ta question sur les forums Excel. MichD
MichD
Le 08/03/22 Í 09:20, ThierryP a écrit :
£ & "#" & E3 N4 : ¤ & "#" & E4
VoilÍ : '-------------------------------- Sub test() 'Identification des variables Dim Rg As Range Dim Rg1 As Range With Feuil1 'La valeur de ces variables (définir) Set Rg = .Range("A3:A" & .Range("A" & Rows.Count).End(xlUp).Row) Set Rg1 = .Range("E3:E" & .Range("E" & Rows.Count).End(xlUp).Row) End With 'Une aide, dans le message, tu devrais avoir la même syntaxe 'que tu veux retrouver dans la cellule contenant la formule. 'Toujours non obligatoire, mais cela peut aider MsgBox "=" & Rg(1).Address(0, 0) & "&""#""&" & Rg1(1).Address(0, 0) & "" 'VoilÍ la formule Feuil1.Range("N3:N10").Formula = _ "=" & Rg(1).Address(0, 0) & "&""#""&" & Rg1(1).Address(0, 0) & "" End Sub '-------------------------------- Une explication sur cette section : Rg(1).Address(0, 0) Rg(1) retourne la première cellule de la plage Rg soit A3 Pour obtenir l'adresse, il s'agit d'ajouter Rg.address cette section (0,0) signifie que l'adresse est relative et non absolue. Par conséquent dans la cellule N3, tu auras l'adresse A3 et c'est la même chose pour la plage Rg1 Par conséquent, la ligne de code fait exactement ce que tu ferais si tu entrais la formule directement dans la cellule et que tu voulais la recopier sur la colonne, tu as besoin d'une adresse relative et non absolue. Pour ceci : & "&""#""&" & À chaque extrémité il y a & qui est lÍ pour réunir les parties de la formule en vba. Sauf que dans la feuille de calcul tu veux avoir la présence pour unir chacune des parties de la formule. Le premier "& et le dernier &" comme ils sont entre guillemets, feront partie de la formule. Pour le symbole #, tu dois l'entourer d'un double guillemet parce qu'il est Í l'intérieur d'un string délimité par des guillemets. Ce n'est pas tout de recopier la formule, il faut essayer de la comprendre afin de pouvoir la reproduire. MichD
Le 08/03/22 Í 09:20, ThierryP a écrit :
£ & "#" & E3
N4 : ¤ & "#" & E4
VoilÍ :
'--------------------------------
Sub test()
'Identification des variables
Dim Rg As Range
Dim Rg1 As Range
With Feuil1
'La valeur de ces variables (définir)
Set Rg = .Range("A3:A" & .Range("A" & Rows.Count).End(xlUp).Row)
Set Rg1 = .Range("E3:E" & .Range("E" & Rows.Count).End(xlUp).Row)
End With
'Une aide, dans le message, tu devrais avoir la même syntaxe
'que tu veux retrouver dans la cellule contenant la formule.
'Toujours non obligatoire, mais cela peut aider
MsgBox "=" & Rg(1).Address(0, 0) & "&""#""&" & Rg1(1).Address(0, 0) & ""
'VoilÍ la formule
Feuil1.Range("N3:N10").Formula = _
"=" & Rg(1).Address(0, 0) & "&""#""&" & Rg1(1).Address(0, 0) & ""
End Sub
'--------------------------------
Une explication sur cette section :
Rg(1).Address(0, 0)
Rg(1) retourne la première cellule de la plage Rg soit A3
Pour obtenir l'adresse, il s'agit d'ajouter Rg.address
cette section (0,0) signifie que l'adresse est relative et
non absolue. Par conséquent dans la cellule N3, tu auras
l'adresse A3 et c'est la même chose pour la plage Rg1
Par conséquent, la ligne de code fait exactement ce que tu
ferais si tu entrais la formule directement dans la cellule
et que tu voulais la recopier sur la colonne, tu as besoin
d'une adresse relative et non absolue.
Pour ceci : & "&""#""&" &
À chaque extrémité il y a & qui est lÍ pour réunir les parties
de la formule en vba. Sauf que dans la feuille de calcul tu
veux avoir la présence pour unir chacune des parties de la formule.
Le premier "& et le dernier &" comme ils sont entre guillemets,
feront partie de la formule. Pour le symbole #, tu dois l'entourer
d'un double guillemet parce qu'il est Í l'intérieur d'un string
délimité par des guillemets.
Ce n'est pas tout de recopier la formule, il faut essayer de la
comprendre afin de pouvoir la reproduire.
VoilÍ : '-------------------------------- Sub test() 'Identification des variables Dim Rg As Range Dim Rg1 As Range With Feuil1 'La valeur de ces variables (définir) Set Rg = .Range("A3:A" & .Range("A" & Rows.Count).End(xlUp).Row) Set Rg1 = .Range("E3:E" & .Range("E" & Rows.Count).End(xlUp).Row) End With 'Une aide, dans le message, tu devrais avoir la même syntaxe 'que tu veux retrouver dans la cellule contenant la formule. 'Toujours non obligatoire, mais cela peut aider MsgBox "=" & Rg(1).Address(0, 0) & "&""#""&" & Rg1(1).Address(0, 0) & "" 'VoilÍ la formule Feuil1.Range("N3:N10").Formula = _ "=" & Rg(1).Address(0, 0) & "&""#""&" & Rg1(1).Address(0, 0) & "" End Sub '-------------------------------- Une explication sur cette section : Rg(1).Address(0, 0) Rg(1) retourne la première cellule de la plage Rg soit A3 Pour obtenir l'adresse, il s'agit d'ajouter Rg.address cette section (0,0) signifie que l'adresse est relative et non absolue. Par conséquent dans la cellule N3, tu auras l'adresse A3 et c'est la même chose pour la plage Rg1 Par conséquent, la ligne de code fait exactement ce que tu ferais si tu entrais la formule directement dans la cellule et que tu voulais la recopier sur la colonne, tu as besoin d'une adresse relative et non absolue. Pour ceci : & "&""#""&" & À chaque extrémité il y a & qui est lÍ pour réunir les parties de la formule en vba. Sauf que dans la feuille de calcul tu veux avoir la présence pour unir chacune des parties de la formule. Le premier "& et le dernier &" comme ils sont entre guillemets, feront partie de la formule. Pour le symbole #, tu dois l'entourer d'un double guillemet parce qu'il est Í l'intérieur d'un string délimité par des guillemets. Ce n'est pas tout de recopier la formule, il faut essayer de la comprendre afin de pouvoir la reproduire. MichD
MichD
Le 08/03/22 Í 09:20, ThierryP a écrit :
Bonjour Denis, Oui, j'ai posté un peu vite...... En colonne N, avec un nombre de lignes variables, je voudrais écrire dans chaque cellule la formule suivante : Ex en cellule N3 : £ & "#" & E3 N4 : ¤ & "#" & E4 Le but est de créer un index unique sur chaque ligne en combinant les valeurs des colonnes A et E. Je pourrais boucler jusqu'Í la dernière ligne, masi ça peut être long, donc je voudrais le faire d'un coup sur le range N3:Nxxxx, Nxxxx étant le dernière cellule non vide de la colonne N mais je n'arrive pas Í adapter la réponse que tu m'as faite Í une question quasi similaire il y a quelques jours ! J'espère avoir été un peu plus clair ! ThierryP
En complétant, La première cellule d'une plage d'un variable de type "Range" peut être écrite de cette manière : Rg(1,1) signifiant Rg(ligne,C0lonne) En écrivant Rg(1) on signifie qu'on est sur la première ligne de la plage de cellule. Même chose pour .address(0,0) (voir l'aide d'Excel) Le premier 0 pour la ligne relative et le deuxième la colonne relative. MichD
Le 08/03/22 Í 09:20, ThierryP a écrit :
Bonjour Denis,
Oui, j'ai posté un peu vite......
En colonne N, avec un nombre de lignes variables, je voudrais écrire dans chaque cellule la formule suivante :
Ex en cellule N3 : £ & "#" & E3
N4 : ¤ & "#" & E4
Le but est de créer un index unique sur chaque ligne en combinant les valeurs des colonnes A et E.
Je pourrais boucler jusqu'Í la dernière ligne, masi ça peut être long, donc je voudrais le faire d'un coup sur le range N3:Nxxxx, Nxxxx étant le dernière cellule non vide de la colonne N mais je n'arrive pas Í adapter la réponse que tu m'as faite Í une question quasi similaire il y a quelques jours !
J'espère avoir été un peu plus clair !
ThierryP
En complétant,
La première cellule d'une plage d'un variable de type
"Range" peut être écrite de cette manière :
Rg(1,1) signifiant Rg(ligne,C0lonne)
En écrivant Rg(1) on signifie qu'on est sur la première ligne de
la plage de cellule.
Même chose pour .address(0,0) (voir l'aide d'Excel)
Le premier 0 pour la ligne relative et le deuxième la colonne relative.
Bonjour Denis, Oui, j'ai posté un peu vite...... En colonne N, avec un nombre de lignes variables, je voudrais écrire dans chaque cellule la formule suivante : Ex en cellule N3 : £ & "#" & E3 N4 : ¤ & "#" & E4 Le but est de créer un index unique sur chaque ligne en combinant les valeurs des colonnes A et E. Je pourrais boucler jusqu'Í la dernière ligne, masi ça peut être long, donc je voudrais le faire d'un coup sur le range N3:Nxxxx, Nxxxx étant le dernière cellule non vide de la colonne N mais je n'arrive pas Í adapter la réponse que tu m'as faite Í une question quasi similaire il y a quelques jours ! J'espère avoir été un peu plus clair ! ThierryP
En complétant, La première cellule d'une plage d'un variable de type "Range" peut être écrite de cette manière : Rg(1,1) signifiant Rg(ligne,C0lonne) En écrivant Rg(1) on signifie qu'on est sur la première ligne de la plage de cellule. Même chose pour .address(0,0) (voir l'aide d'Excel) Le premier 0 pour la ligne relative et le deuxième la colonne relative. MichD
ThierryP
Avec un peu plus d'indications de ma part, ça va tout de suite mieux ! Merci encore pour toutes tes explications :-) ThierryP
Avec un peu plus d'indications de ma part, ça va tout de suite mieux !