Traduction de code VBA

Bonjour à tous,

je dois m'approprier un suivi sous Excel/VBA conçu par un collègue qui est tombé malade. Or je débute en VBA et je n'ai, pour l'instant, pu suivre aucune formation. A force de recherches j'ai réussi à comprendre 1 certain nombre de lignes de codes mais, malgré tout, il y a des instructions pour lesquelles je bute complètement. Pourriez vous, s'il vous plait, traduire ces instructions en "français" afin que je puisse comprendre le problème s'il survient ? Je précise qu'il s'agit de lignes de code liées à un UserForm.

Vous remerciant par avance, voici les lignes de code :

Dim chiffre, lettre As String
Dim TabTemp As Variant
Dim L As Long

___________________________________________________________________________________________________________________________________

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub

___________________________________________________________________________________________________________________________________

Private Sub UserForm_Initialize()
With Sheets("LDC_ENTITÉ")
L = .Range("A65536").End(xlUp).Row
TabTemp = .Range(.Cells(1, 1), .Cells(L, 2)).Value
End With
ComboBox1.AddItem "LE MANS 37 49 53 72 DR"
ComboBox1.AddItem "NANTES 44 85 DR"
ComboBox1.AddItem "RENNES 22 29 35 56 DR"
End Sub

___________________________________________________________________________________________________________________________________

Private Sub ComboBox1_Change()
Dim TabSansDoublon As New Collection
On Error Resume Next
For L = 1 To UBound(TabTemp, 1)
If TabTemp(L, 1) = ComboBox1.Text Then
TabSansDoublon.Add TabTemp(L, 2), CStr(TabTemp(L, 2))
End If
Next L
On Error GoTo 0
Combobox2.Clear
For L = 1 To TabSansDoublon.Count
Combobox2.AddItem TabSansDoublon(L)
Next L
End Sub

___________________________________________________________________________________________________________________________________

Private Sub Combobox2_Change()
If ComboBox1.Value <> "" And Combobox2.Value <> "" Then
Sheets("CHARGE").Cells(3, 15).Value = Combobox2.Value
Else
MsgBox "Saisir Entité"
End If
USF_CHARGE.Top = 5
Range("O3").Select
End Sub

Bonjour,

Voici le code commenté tel que je l'ai compris :

Dim chiffre, lettre As String
Dim TabTemp As Variant
Dim L As Long

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'procédure évènementielle lors de la fermeture de l'userform
If CloseMode = vbFormControlMenu Then Cancel = True 'si fermeture manuelle normale, annulation de la fermeture
End Sub

Private Sub UserForm_Initialize() 'procédure évènementielle à l'initialisation de l'userform
With Sheets("LDC_ENTITÉ") 'avec feuille "LDC_ENTITÉ"
L = .Range("A65536").End(xlUp).Row 'dernière ligne non vide
TabTemp = .Range(.Cells(1, 1), .Cells(L, 2)).Value 'tableau tabTemp recoit valeurs de "A1:B" & L (L derniere ligne pour rappel)
End With
ComboBox1.AddItem "LE MANS 37 49 53 72 DR" 'ajout d'items à la combobox 1
ComboBox1.AddItem "NANTES 44 85 DR" 'idem
ComboBox1.AddItem "RENNES 22 29 35 56 DR"
End Sub

Private Sub ComboBox1_Change() 'procédure évènementielle lors d'un changement sur la combobox1 (>> maj Combobox2)
Dim TabSansDoublon As New Collection
On Error Resume Next 'gestion d'erreur pour éviter bug quand doublon (contrainte mac notamment)
For L = 1 To UBound(TabTemp, 1) 'pour chaque ligne du tableau tabTemp
If TabTemp(L, 1) = ComboBox1.Text Then 'si la valeur en colonne 1 vaut le texte de la combobox1
TabSansDoublon.Add TabTemp(L, 2), CStr(TabTemp(L, 2)) 'ajout à la collection de la valeur en colonne 2 correspondante
End If
Next L
On Error GoTo 0 'fin gestion d'erreur
Combobox2.Clear 'remise a zéro combobox2
For L = 1 To TabSansDoublon.Count 'pour chaque ligne de la collection (contenant les valeurs uniques)
Combobox2.AddItem TabSansDoublon(L) 'l'item en cours est ajouté à la combobox2
Next L
End Sub

Private Sub Combobox2_Change() 'procédure event >>> validation saisie
If ComboBox1.Value <> "" And Combobox2.Value <> "" Then 'si CB1 et CB2 <> ""
Sheets("CHARGE").Cells(3, 15).Value = Combobox2.Value 'O3 de CHARGE vaut valeur de CB2
Else
MsgBox "Saisir Entité" 'sinon, msg
End If
USF_CHARGE.Top = 5 'changement place de l'userform USF_CHARGE
Range("O3").Select 'selection O3
End Sub

Pour poster du code, vous pouvez utiliser les balises </> du ruban d'icônes.

Cdlt,

Rechercher des sujets similaires à "traduction code vba"