Traduction language VBA
s
Bonjour à tous,
Alors voila hier je vous ai demandé de l'aide pour un fichier et j'ai eu une super réponse qui fonctionne bien, par contre j'aurai aimé qu'on m'explique ce que le code signifie, pour mieux comprendre, alors voici le code :
Sub cp()
Set wscp = Sheets("Contacts prioritaires")
ctrcp = 2
For Each ws In Worksheets
If ws.Name <> wscp.Name Then
dlws = ws.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To dlws
If UCase(ws.Range("N" & i)) = "X" Then
ctrcp = ctrcp + 1
ws.Range("A" & i & ":M" & i).Copy wscp.Range("A" & ctrcp)
End If
Next i
End If
Next
End Sub
Merci d'avance pour vos réponses
Invité
Bonjour shiva_sushi
Voici le décodage
Sub cp()
' Définir les variables c'est mieux
Dim Ws As Worksheet, WsCP As Worksheet
Dim DlWs As Long, i As Long
Dim CtrCP As Long
' Définir la feuille dans la variable objet WSCP
Set WsCP = Sheets("Contacts prioritaires")
' Initialiser la variable à 2
CtrCP = 2
' Pour chaque feuille du classeur
For Each Ws In Worksheets
' Si le nom de la feuille est différent de celui définit
If Ws.Name <> WsCP.Name Then
' Récupérer le numéro de la dernière ligen remplie de la feuille
DlWs = Ws.Cells(Rows.Count, 1).End(xlUp).Row
' Pour chaque ligne jusqu'à la dernière
For i = 1 To DlWs
' Si la cellule de la colonne N contient un X
If UCase(Ws.Range("N" & i)) = "X" Then
' Incrémenter ctrcp
CtrCP = CtrCP + 1
' Copier les cellules de A à M de la ligne dans la feuille définit
Ws.Range("A" & i & ":M" & i).Copy WsCP.Range("A" & CtrCP)
End If
Next i
End If
Next
End SubA+
s
Merci bcp pour ton aide