Bonjour,
Je me permets de venir vers vous, suite à plusieurs semaines à tester toutes les formulations possibles pour que ça fonctionne.
Le but étant de comparer sur 2 feuilles différentes des cellules et si certaines conditions sont remplies, de remplir certaines cellules.
En gros, je dis je regarde pour la ligne iRow colonne 7 ed la feuille HAB si la cellule est vide.
si c'est le cas, je regarde la cellule de la ligne iRow colonne 3 et je regarde si elle est égale à une des cellules de la colonne 2 de la feuille Matrice Hab-For.
donc je balaye en itérant iRow2 (ligne de cette feuille).
une fois la cellule trouvée, je balaye cette ligne iRow2 et je regarde si une des cellules sur la ligne = 1, donc je balaye iCol.
une fois, la cellule trouvée, je renvoie l'intitulé de la colonne (qui se trouve donc ligne 2, iCol) dans la cellule ligne iRow colonne 7 de la feuille HAB.
et ma boucle foire complétement, elle renvoie que dalle... ou m'envoie pas le bon intiutlé ou est en mode infini (obligé de faire ECHAP).
Merci de votre aide.
Je ne sais pas si je raisonne à l'envers pour la boucle ou pas. je vous mets 2 versions de mon code.
Je desespère !
2eme code :
encore merci pour votre expertise et de votre temps.
Je me permets de venir vers vous, suite à plusieurs semaines à tester toutes les formulations possibles pour que ça fonctionne.
Le but étant de comparer sur 2 feuilles différentes des cellules et si certaines conditions sont remplies, de remplir certaines cellules.
En gros, je dis je regarde pour la ligne iRow colonne 7 ed la feuille HAB si la cellule est vide.
si c'est le cas, je regarde la cellule de la ligne iRow colonne 3 et je regarde si elle est égale à une des cellules de la colonne 2 de la feuille Matrice Hab-For.
donc je balaye en itérant iRow2 (ligne de cette feuille).
une fois la cellule trouvée, je balaye cette ligne iRow2 et je regarde si une des cellules sur la ligne = 1, donc je balaye iCol.
une fois, la cellule trouvée, je renvoie l'intitulé de la colonne (qui se trouve donc ligne 2, iCol) dans la cellule ligne iRow colonne 7 de la feuille HAB.
et ma boucle foire complétement, elle renvoie que dalle... ou m'envoie pas le bon intiutlé ou est en mode infini (obligé de faire ECHAP).
Merci de votre aide.
Je ne sais pas si je raisonne à l'envers pour la boucle ou pas. je vous mets 2 versions de mon code.
Je desespère !
Code:
Sub Recherche_Stages()
Dim iRow As Long
Dim iRow2 As Long
Dim iCol As Long
Dim ws As Worksheet
Dim ws2 As Worksheet
Set ws = Worksheets("Matrice Hab - For")
Set ws2 = Worksheets("HAB")
iCol = 3
iRow2 = 3
iRow = 1
Do While ws.Cells(iRow2, iCol).Value <> 1
Do While ws2.Cells(iRow, 3) <> ws.Cells(iRow2, 2).Value
Do While ws2.Cells(iRow, 7).Value <> ""
iRow = iRow + 1
Loop
iRow2 = iRow2 + 1
Loop
iCol = iCol + 1
Loop
End Sub
2eme code :
Code:
Sub Recherche_Stages()
Dim iRow As Long
Dim iRow2 As Long
Dim iCol As Long
Dim ws As Worksheet
Dim ws2 As Worksheet
Set ws = Worksheets("Matrice Hab - For")
Set ws2 = Worksheets("HAB")
iRow = 1
Do While ws2.Cells(iRow, 7).Value <> ""
iRow2 = 3
iCol = 3
Do While ws2.Cells(iRow, 3) <> ws.Cells(iRow2, 2).Value
Do While ws.Cells(iRow2, iCol).Value <> 1
iCol = iCol + 1
Loop
ws2.Cells(iRow, 7).Value = ws.Cells(2, iCol).Value
iRow2 = iRow2 + 1
Loop
iRow = iRow + 1
Loop
End Sub
encore merci pour votre expertise et de votre temps.