Boucle VBA par ligne

Bonjour, je suis débutant en VBA, et j'aurais besoin d'un petit coup de pouce.

J'ai des textboxs à remplir en fonction de la machine séléctionnée dans la combobox.

Chaque ligne dans mon tableau correspond à une machine avec les dates en colonnes des éléments.

Ma question serait :

Est-il possible de réaliser une boucle qui permet de chercher par ligne le repère de la combobox est remplir les textbox en conséquence.

Exemple si machine 1 séléctionné :

Private Sub CommandButton1_Click()        
        'Si la valeur "Machine 1" dans la liste est séléctionné (en A6) affiché les valeurs dans le tableau dans les textboxs
            If ComboBox_rep = Range("A6") Then
                                DeshyPrinc = Range("B6")
                                deshyprinc1 = Range("C6")
                                deshyprinc2 = Range("D6")
                                EvrPrinc = Range("E6")
                                evrprinc1 = Range("F6")
                                evrprinc2 = Range("G6")
                                CompPrinc = Range("H6")
                                compprinc1 = Range("I6")
                                compprinc2 = Range("J6")
                                VidCompPrinc = Range("K6")
                                vidcompprinc1 = Range("L6")
                                vidcompprinc2 = Range("M6")
                                DeshyAux = Range("N6")
                                deshyaux1 = Range("O6")
                                deshyaux2 = Range("P6")
                                EvrAux = Range("Q6")
                                evraux1 = Range("R6")
                                evraux2 = Range("S6")
                                CompAux = Range("T6")
                                compaux1 = Range("U6")
                                compaux2 = Range("V6")
                                'Si la machine possède un cond. Eau, affiché ces textbox sinon, les cacher.
                                    If Range("AE6") = "Eau" Then
                                    detcondeau = Range("W6")
                                    detcondeau1 = Range("X6")
                                    detcondeau2 = Range("Y6")
                                    Else: DetCondAux.Visible = False
                                            detcondeau1.Visible = False
                                            detcondeau2.Visible = False
                                            Label36.Visible = False
                                    End If
                                VidCompAux = Range("Z6")
                                vidcompaux1 = Range("AA6")
                                vidcompaux2 = Range("AB6")
                                Commentaire = Range("AC6")
                                compcourant = Range("AD6")

                          End If
    End Sub

Pour la machine 2 ce serait exactement identique mais il faut remplacé les Range("*6") par ("*7") et ainsi de suite jusqu'à 300..

Merci de votre aide !

Bonjour,

Un petit fichier aurait éré le bienvenu,

Dans une boucle for i= 6 to 300 .......... End If

remplacer les Range("A6") par Range("A" & i) par exemple

Bonjuor,

A tester

Dim Machine As Integer
Private Sub CommandButton1_Click()
                'Si la valeur "Machine 1" dans la liste est séléctionné (en A6) affiché les valeurs dans le tableau dans les textboxs
                For Machine = 6 To 300
                        If ComboBox_rep = Range("A" & Machine) Then
                                DeshyPrinc = Range("B" & Machine)
                                deshyprinc1 = Range("C" & Machine)
                                deshyprinc2 = Range("D" & Machine)
                                EvrPrinc = Range("E" & Machine)
                                evrprinc1 = Range("F" & Machine)
                                evrprinc2 = Range("G" & Machine)
                                CompPrinc = Range("H" & Machine)
                                compprinc1 = Range("I" & Machine)
                                compprinc2 = Range("J" & Machine)
                                VidCompPrinc = Range("K" & Machine)
                                vidcompprinc1 = Range("L" & Machine)
                                vidcompprinc2 = Range("M" & Machine)
                                DeshyAux = Range("N" & Machine)
                                deshyaux1 = Range("O" & Machine)
                                deshyaux2 = Range("P" & Machine)
                                EvrAux = Range("Q" & Machine)
                                evraux1 = Range("R" & Machine)
                                evraux2 = Range("S" & Machine)
                                CompAux = Range("T" & Machine)
                                compaux1 = Range("U" & Machine)
                                compaux2 = Range("V" & Machine)
                                'Si la machine possède un cond. Eau, affiché ces textbox sinon, les cacher.
                                   If Range("AE" & Machine) = "Eau" Then
                                    detcondeau = Range("W" & Machine)
                                    detcondeau1 = Range("X" & Machine)
                                    detcondeau2 = Range("Y" & Machine)
                                    Else: DetCondAux.Visible = False
                                            detcondeau1.Visible = False
                                            detcondeau2.Visible = False
                                            Label36.Visible = False
                                    End If
                                VidCompAux = Range("Z" & Machine)
                                vidcompaux1 = Range("AA" & Machine)
                                vidcompaux2 = Range("AB" & Machine)
                                Commentaire = Range("AC" & Machine)
                                compcourant = Range("AD" & Machine)
                          End If
                        Next Machine
        End Sub

Merci à vous 2,

j'ai réussi avec la solution de Bernard finalement !

Je rencontre d'autres problèmes maintenant j'essaye de résoudre ça mais sinon je reviendrais vous voir !

Rechercher des sujets similaires à "boucle vba ligne"