OVH Cloud OVH Cloud

VB pb de syntaxe ... à priori

4 réponses
Avatar
Daniel
... à moins que ce ne soit plus grave ;-)

Bonjour,

Comment puis-je remplacer la partie de code suivante qui fonctionne à
merveille (merci LSteph):

Dim d As Range 'déclaration d'une variable
For Each d In [j7:l7].Cells 'recherche de cette variable dans une plage
fixe en ligne 7
If d = "X" Then TextBox1 = d.Offset(-1, 0) 'si la variable a une
certaine valeur affichage du contenu de la cellule juste au dessus qui
est en ligne 6
Next

Si je souhaite que la recherche se fasse sur une plage variable mais sur
les mêmes colonnes ?

Lig = Sheets("Feuil1").Range("A65536").End(xlUp).Row 'recherche de la
ligne où se trouve ma plage de cellules

Dim d As Range 'déclaration de la variable
For Each d In ["j & Lig":"l & Lig"].Cells 'là c'est pas bon ... pb de
syntaxe ???
If d = "X" Then TextBox1 = c.Offset(6-lig, 0) 'ici non plus ... idem
Next

Merci beaucoup d'une petite aide.

Daniel

4 réponses

Avatar
anonymousa
Bonjour,

sans chercher beaucoup, on ne peut utiliser les célèbres crochets ( ou
brackets ) chers à AV comme des éléments de chaine de caractère. Il te
faudra passer soit par Evaluate soit par l'utilisation de l'objet range
pour insérer des variables et utiliser une chaine de caractères.
On peut écrire
For Each c In Range("j" & lig & ":l" & lig).Cells
'ton code
Next

A+


... à moins que ce ne soit plus grave ;-)

Bonjour,

Comment puis-je remplacer la partie de code suivante qui fonctionne à
merveille (merci LSteph):

Dim d As Range 'déclaration d'une variable
For Each d In [j7:l7].Cells 'recherche de cette variable dans une
plage fixe en ligne 7
If d = "X" Then TextBox1 = d.Offset(-1, 0) 'si la variable a une
certaine valeur affichage du contenu de la cellule juste au dessus qui
est en ligne 6
Next

Si je souhaite que la recherche se fasse sur une plage variable mais sur
les mêmes colonnes ?

Lig = Sheets("Feuil1").Range("A65536").End(xlUp).Row 'recherche de la
ligne où se trouve ma plage de cellules

Dim d As Range 'déclaration de la variable
For Each d In ["j & Lig":"l & Lig"].Cells 'là c'est pas bon ... pb de
syntaxe ???
If d = "X" Then TextBox1 = c.Offset(6-lig, 0) 'ici non plus ... idem
Next

Merci beaucoup d'une petite aide.

Daniel


Avatar
Jacky
Bonjour,

A priori
'------
For Each d In Range("j" & Lig & ":l" & Lig)
'-----------

--
Salutations
JJ



"Daniel" a écrit dans le message de
news: 45b370d1$0$21150$
... à moins que ce ne soit plus grave ;-)

Bonjour,

Comment puis-je remplacer la partie de code suivante qui fonctionne à
merveille (merci LSteph):

Dim d As Range 'déclaration d'une variable
For Each d In [j7:l7].Cells 'recherche de cette variable dans une plage
fixe en ligne 7
If d = "X" Then TextBox1 = d.Offset(-1, 0) 'si la variable a une certaine
valeur affichage du contenu de la cellule juste au dessus qui est en ligne
6
Next

Si je souhaite que la recherche se fasse sur une plage variable mais sur
les mêmes colonnes ?

Lig = Sheets("Feuil1").Range("A65536").End(xlUp).Row 'recherche de la
ligne où se trouve ma plage de cellules

Dim d As Range 'déclaration de la variable
For Each d In ["j & Lig":"l & Lig"].Cells 'là c'est pas bon ... pb de
syntaxe ???
If d = "X" Then TextBox1 = c.Offset(6-lig, 0) 'ici non plus ... idem
Next

Merci beaucoup d'une petite aide.

Daniel


Avatar
Jacky
Re...
Et pour l'autre.....Erreur sur c. dans "c.Offset(6-lig, 0)"
Plutôt ....D.Offset(.......)
--
Salutations
JJ



"Daniel" a écrit dans le message de
news: 45b370d1$0$21150$
... à moins que ce ne soit plus grave ;-)

Bonjour,

Comment puis-je remplacer la partie de code suivante qui fonctionne à
merveille (merci LSteph):

Dim d As Range 'déclaration d'une variable
For Each d In [j7:l7].Cells 'recherche de cette variable dans une plage
fixe en ligne 7
If d = "X" Then TextBox1 = d.Offset(-1, 0) 'si la variable a une certaine
valeur affichage du contenu de la cellule juste au dessus qui est en ligne
6
Next

Si je souhaite que la recherche se fasse sur une plage variable mais sur
les mêmes colonnes ?

Lig = Sheets("Feuil1").Range("A65536").End(xlUp).Row 'recherche de la
ligne où se trouve ma plage de cellules

Dim d As Range 'déclaration de la variable
For Each d In ["j & Lig":"l & Lig"].Cells 'là c'est pas bon ... pb de
syntaxe ???
If d = "X" Then TextBox1 = c.Offset(6-lig, 0) 'ici non plus ... idem
Next

Merci beaucoup d'une petite aide.

Daniel


Avatar
LSteph
Bonjour,

...
If d = "X" Then Textbox1Îlls(6,c.column)
...

Cdlt.

lSteph

... à moins que ce ne soit plus grave ;-)

Bonjour,

Comment puis-je remplacer la partie de code suivante qui fonctionne à
merveille (merci LSteph):

Dim d As Range 'déclaration d'une variable
For Each d In [j7:l7].Cells 'recherche de cette variable dans une
plage fixe en ligne 7
If d = "X" Then TextBox1 = d.Offset(-1, 0) 'si la variable a une
certaine valeur affichage du contenu de la cellule juste au dessus qui
est en ligne 6
Next

Si je souhaite que la recherche se fasse sur une plage variable mais sur
les mêmes colonnes ?

Lig = Sheets("Feuil1").Range("A65536").End(xlUp).Row 'recherche de la
ligne où se trouve ma plage de cellules

Dim d As Range 'déclaration de la variable
For Each d In ["j & Lig":"l & Lig"].Cells 'là c'est pas bon ... pb de
syntaxe ???
If d = "X" Then TextBox1 = c.Offset(6-lig, 0) 'ici non plus ... idem
Next

Merci beaucoup d'une petite aide.

Daniel