Explication pour un code

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MuscatMimi

XLDnaute Accro
Bonsoir Le forum

J'aimerais qu'un super pro, puisse me commenter le code ci-dessous
Ce code fonctionne ,mais je n'arrive pas a changer la destination des données saisie

Private Sub BtnCompte2_Click()
Dim PremNumChq, NbChq, Cel, Indic As Integer
PremNumChq = TextBox1
NbChq = TextBox2
With Sheets("N°Commande")
Indic = Right(TextBox1, 3)
For Cel = 1 To NbChq + 1
.Cells(Cel, 6) = Format(PremNumChq, "####0000/###000")
Indic = Indic + 1
PremNumChq = Left(TextBox1, 3) & Indic
Next Cel
End With
Unload Me
End Sub
Merci a l'avance
Bonne soirée
 
Re : Explication pour un code

Bonsoir Christian, bonsoir le forum,

Loin d'ête un super pro je me permets quand même de te proposer une explication. Ce code corrrespond au clic sur le bouton nommé BtnCompte2 dans une Userform contenant au mois deux textboxes, TextBox1 et TextBox2. Ce bouton doit être un bouton de validation car l'Userform se ferme en fin de code... Le voici commenté (la destination en rouge) :
Code:
Private Sub BtnCompte2_Click() 'au clic dans le bouton BtnCompte2
Dim PremNumChq, NbChq, Cel, Indic As Integer 'déclare les variables 
PreNumChq, NbChq, Cel et Indic
 
PremNumChq = TextBox1 'définit la variable PreNumChq (la valeur renseignée dans la Textbox1 de l'Userform)
NbChq = TextBox2 'définit la variable NbChq (la valeur renseignée dans la Textbox2 de l'Userform)
With [COLOR=red]Sheets("N°Commande")[/COLOR] 'prend en compte l'onglet "NºCommande"
    Indic = Right(TextBox1, 3) 'définit la variable Indic (les trois derniers digits de la Textbox1)
    For [COLOR=red]Cel = 1 To NbChq + 1[/COLOR] 'boucle de cel= 1 à NbChq
        [COLOR=red].Cells(Cel, 6)[/COLOR] = Format(PremNumChq, "####0000/###000") 'la cellule ligne cel, colonne 6 prend la valeur de PremNumChq formatée
        Indic = Indic + 1 'redéfinit la variable Indic (incrémenté de + 1)
        PremNumChq = Left(TextBox1, 3) & Indic 'redéfinit la variable PreNumChq (les 3 premiers digits de la TextBox1 suivi de Indic
    Next Cel 'prochaine valeur de cel (cel+1)
End With 'fin de la pris en compte de l'onglet "NºCommande"
Unload Me 'vide et ferme l'UserForm
End Sub

Il n'y a qu'au niveau de la déclaration que je pense qu'il y a une anomalie. L'auteur voulait je pense déclarer toutes les variables de type Integer mais son code est, si c'est le cas, mal écrit. Dans l'état actuel, seule la variable Indic est déclarée comme Integer les autres étant par défaut de type Variant. Pour avoir tout de type Integer, il aurait fallu écrire :
Code:
Dim PremNumChq As Integer, NbChq As Integer, Cel As Integer, Indic As Integer 'déclare les variables PreNumChq, NbChq, Cel et Indic

En espérant t'avoir aidé...
 
Dernière édition:
Re : Explication pour un code

Bonjour robert
merci beaucoup de ton explication

en fait j'aurais dû noter les lignes ou je comprenais pas

PremNumChq = TextBox1 'définit la variable PreNumChq (la valeur renseignée dans la Textbox1 de l'Userform)
NbChq = TextBox2 'définit la variable NbChq (la valeur renseignée dans la Textbox2 de l'Userform)
With Sheets("N°Commande") 'prend en compte l'onglet "NºCommande"
Indic = Right(TextBox1, 3) 'définit la variable Indic (les trois derniers digits de la Textbox1) For Cel = 1 To NbChq + 1 'boucle de cel= 1 à NbChq
.Cells(Cel, 6) = Format(PremNumChq, "####0000/###000") 'la cellule ligne cel, colonne 6 prend la valeur de PremNumChq formatée
Indic = Indic + 1 'redéfinit la variable Indic (incrémenté de + 1)
PremNumChq = Left(TextBox1, 3) & Indic 'redéfinit la variable
PreNumChq (les 3 premiers digits de la TextBox1 suivi de Indic
Next Cel 'prochaine valeur de cel (cel+1)
End With 'fin de la pris en compte de l'onglet "NºCommande"
Unload Me 'vide et ferme l'UserForm
End Sub

Tu a raison pour les déclaration des variables en Integer
Bon week-end a toi
A bientôt
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
924
  • Question Question
Microsoft 365 modifier un code
Réponses
1
Affichages
541
Réponses
3
Affichages
432
Réponses
1
Affichages
671
Compte Supprimé 979
C
Retour