Explication VBA
Bonjour,
J'aurai besoin d'explication détaillé sur le fonctionnement d'une programmation parceque je suis un peu largué notamment sur DO UNTIL LOOP:
Private Sub ok_Click()
controle = MsgBox("Etes-vous sur des données saisies ??", vbYesNo)
If Titre = "" Or nom = "" Or pre = "" Or adresse = "" Or ville = "" Or postal = "" Then
rep = MsgBox("Tous les champs doivent être renseigné", vbExclamation, "HO NOO!!")
Else
If controle = vbNo Then
Else
Sheets("Client").Select
cel = 9
Do Until IsEmpty(Range("B" & cel))
cel = cel + 1
Loop
Range("a" & cel) = ref
Range("b" & cel) = Titre
Range("c" & cel) = nom
Range("d" & cel) = pre
Range("e" & cel) = adresse
Range("f" & cel) = postal
Range("g" & cel) = ville
Range("h" & cel) = tel.Value
Range("i" & cel) = entre
Range("j" & cel) = mail
Range("k" & cel) = fax.Value
N_client.Hide
End If
End If
End SubMerci d'avance!!
Bonjour
Assez incompréhensible comme code car on se demande à quoi servent quelques instructions. De plus aucune de tes variables ne sont déclarées
Sinon un tentative d'explication :
Private Sub ok_Click()
Dim controle As Integer, controle as integer
Dim titre As String, nom As String, pre As String, adresse As String, ville As String, postal As String
Dim rep As Byte, cel As Byte
'question pour la confirmation des données saisies
controle = MsgBox("Etes-vous sur des données saisies ??", vbYesNo)
'Vérification que titre, nom, pre, adresse, ville, postal sont vides
If titre = "" Or nom = "" Or pre = "" Or adresse = "" Or ville = "" Or postal = "" Then
'si oui, on récupère le OK dans une variable "rep"
rep = MsgBox("Tous les champs doivent être renseigné", vbExclamation, "HO NOO!!")
Else
'variable controle prend la valeur 0 si la réponse est non
If controle = vbNo Then
Else
'selection de la feuille client
Sheets("Client").Select
'varaible cel = 9
cel = 9
'exécution d'une boucle tant que la cellule B... est vide
Do Until IsEmpty(Range("B" & cel))
cel = cel + 1
Loop
'remplissage des colonnes a, b,c,d,e,f,g,h,i,j,k avec les variables correpondantes
Range("a" & cel) = ref
Range("b" & cel) = titre
Range("c" & cel) = nom
Range("d" & cel) = pre
Range("e" & cel) = adresse
Range("f" & cel) = postal
Range("g" & cel) = ville
Range("h" & cel) = tel.Value
Range("i" & cel) = entre
Range("j" & cel) = mail
Range("k" & cel) = fax.Value
'on cache N_Client
N_client.Hide
End If
End If
End SubLe Do until loop est une bidouille qui te permet d'aller compléter les données plus bas dès que la cellule B est non vide.
Pas sûr (sans fichier) mais essaie plutôt :
Do Until Not IsEmpty(Range("B" & cel))
'remplissage des colonnes a, b,c,d,e,f,g,h,i,j,k avec les variables correpondantes
Range("a" & cel) = ref
Range("b" & cel) = titre
Range("c" & cel) = nom
Range("d" & cel) = pre
Range("e" & cel) = adresse
Range("f" & cel) = postal
Range("g" & cel) = ville
Range("h" & cel) = tel.Value
Range("i" & cel) = entre
Range("j" & cel) = mail
Range("k" & cel) = fax.Value
cel = cel + 1
LoopA te relire
Bonsoir excelium, Dan
Dan, si je peux me permettre
A la vue du code, il me semble qu'il s'agit d'une procédure d'un bouton ok placé sur un userform
private sub ok_click ressemble a la déclaration du bouton ok
donc pour moi ref, titre, etc sont les valeurs des textbox et non des variables
le until boucle sur la colonne B a partir de la ligne 9
puis rempli les cellules de la ligne +1 avec les valeurs des saisie
Cordialement
Bob
re,
effectivement Bob71Au, j'y avais pensé également mais comme notre demandeur est "largué" comme il le dit, je me suis demandé s'il s'agissait d'une Userform ou de ce que j'ai expliqué.
Merci de ta précision en tout cas
Amicalement