XL 2019 VBA boucle For / Next

uzu1302

XLDnaute Nouveau
Bonjour à tous, j'ai besoin d'aide car je comprends pas !
Voici mon code :
VB:
Sub Place()


Dim xlig_en_cours As Integer '(Ligne courante)
Dim xlig_nbre As Integer '(Nombre de lignes avec les entêtes)
Dim xlig_nbre_bis As Integer '(Nombre de lignes sans l'entêtes)
Dim xprono As Integer
Dim xarrive As Integer
Dim xpos As Integer

xlig_en_cours = 4 '(1ère Ligne courante)
xlig_nbre = Range("K4").End(xlDown).Row
xlig_nbre_bis = xlig_nbre - 3

xpos = 17
For xlig_en_cours = 4 To xlig_nbre_bis 'Boucle principale


    For xprono = 2 To 9
        For xarrive = 11 To 15
            If Feuil1.Cells(xlig_en_cours, xprono).Value = Feuil1.Cells(xlig_en_cours, xarrive).Value Then
               Feuil1.Cells(xlig_en_cours, xpos).Value = xarrive 'MsgBox ("Trouvé " & xarrive)
            End If
               xpos = xpos + 1
           
        Next xarrive
   
    Next xprono
Next xlig_en_cours

End Sub
----------
Je voudrai comparer les colonnes B à I aux colonnes K à O et mettre dans les colonnes Q à U la position des colonnes B à I si trouvé dans les colonnes K à O
C'est peut être simple mais j'y arrive pas !
Merci pour votre aide
Patrick
 

Pièces jointes

  • Excel Tableau.png
    Excel Tableau.png
    18.4 KB · Affichages: 15
Dernière modification par un modérateur:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Uzu,
S'il vous plait, utilisez la balise </> pour le code c'est plus lisible. ( à droite de l'icone GIF )
D'autre part essayez de nous mettre un petit fichier test, ça aiderait.
Alors comme ça à l'aveugle, il semblerait que :
VB:
For xlig_en_cours = 4 To xlig_nbre_bis 'Boucle principale
veuille aller de la première à la dernière ligne.
Si c'est le cas, votre
Code:
xlig_nbre = Range("K4").End(xlDown).Row
donne la première ligne occupée et non la dernière.
Essayez de tester :
Code:
xlig_nbre = Range("K65000").End(xlUp).Row
 

Discussions similaires