Boucle et coordonnnées de la cellule

dieu08

XLDnaute Occasionnel
Bonjour,

J'ai réalisé une boucle très simple qui me permet de trouver dans une liste triée par ordre alphabétique la première valeur "Y" :

Code:
Sub test()

y = 4

Do
   y = y + 1
Loop Until (Cells(y, 1) = "Y")

End Sub

Ensuite, je désirerais trouver les coordonnées de la cellule où se trouve le premier Y de la liste pour pouvoir insérer une ligne à coordonnées -1 et intégrer les valeurs de différentes variables.

J'ai tenté avec Active.cell et active.columns mais ce n'est pas bon.

Je vous remercie de votre aide.
 

Pièces jointes

  • exemple.xlsx
    10.3 KB · Affichages: 24
  • exemple.xlsx
    10.3 KB · Affichages: 25
  • exemple.xlsx
    10.3 KB · Affichages: 27

francedemo

XLDnaute Occasionnel
Re : Boucle et coordonnnées de la cellule

bonjour,
tu peux utiliser une boucle différente si tu veux juste le premier

Code:
For i = 2 To [A65536].End(xlUp).Row
    If UCase(Cells(i, 1).Value) = UCase("y") Then Cells(i, 1).Offset(-1, 0).EntireRow.Insert
Next i

à+
 

francedemo

XLDnaute Occasionnel
Re : Boucle et coordonnnées de la cellule

oui, bizarre, bref, essaye ça

Code:
For i = 2 To [A65536].End(xlUp).Row
    If UCase(Cells(i, 1).Value) = UCase("Y") Then
        Cells(i, 1).EntireRow.Insert
        Exit Sub
    End If
Next i

je sors de la boucle après le premier "y", si tu veux insérer une ligne devant chaque "y", c'est un peu différent
à+
 

youky(BJ)

XLDnaute Barbatruc
Re : Boucle et coordonnnées de la cellule

Bonjour le fil,
Petit correction de la macro de Francedemo.
Bruno
Code:
Sub test()
For i = [A65536].End(xlUp).Row To 2 Step -1
    If UCase(Cells(i, 1).Value) = UCase("Y") Then Rows(i + 1).Insert
Next i
End Sub
 

francedemo

XLDnaute Occasionnel
Re : Boucle et coordonnnées de la cellule

bonjour Youky,
ok pour la modif, mais ça ne fait pas la même chose, en partant de la fin, on ajoute une ligne à chaque "y", il semble que dieu08 ne cherchait que le premier "y" (cf premier post)
(faudra que je regarde la différence entre "Cells(i, 1).EntireRow.Insert" et "Rows(i + 1).Insert"...)
à+
 

Discussions similaires

Statistiques des forums

Discussions
312 213
Messages
2 086 307
Membres
103 174
dernier inscrit
OBUTT