Bonjour à tous,
J'ai bien avancé hier soir sur mon travail VBA, notamment grâce à toutes les recherches effectuées sur ce site (merci porcinet).
Cependant, j'ai toujours un problème qui m'agace!!!
En cliquant sur un bouton de commande, différentes informations (inscrites dans des TEextBox) sur un client doivent s'enregistrer dans une feuille (Excel), c'est le code client qui m'ennuie.
Celui-ci doit se génerer automatiquement après avoir cliquer sur le bouton. Il se compose des quatres 1ères lettres de la raison sociale et d'un code à 4 chiffres.
J'ai donc créé deux TextBox, une correspondant aux lettres de la raison sociale et une autre aux 4 chiffres. Ensuite, j'avais pensé les concatener pour obtenir un seul code dans la feuille Excel.
De plus, le numéro à 4 chiffres commence à 0001 et doit s'incrémenter de 1 à chaque fois que l’on a un client dont le nom commence de la même façon. Exemple : 2 entreprises dont l’une se nomme DUPUIS Electricité et l’autre DUPUY Transports. DUPUIS Electricité, la première saisie sera codifiée DUPU0001 la seconde DUPUY Transports sera codifiée DUPU0002.
Là, j'avoue que je sèche complètement...
Je sollicite votre aide...
Voici le code que j'essaie de développer :
Public Sub BTN_ajouter_Click()
'Enregistrer les données dans la feuille "données_clts"
Dim Index As Long
Dim concatene As Variant
Dim i As Integer
With Worksheets("donneesclts")
Index = .Range("J1")
If Index = 0 Then
Index = 1
End If
Index = Index + 1
For i = 2 To Index
CS_codeclt_1 = Left(UCase(CS_raissoc), 4) 'CS_codeclt_1=TextBox1
CS_codeclt_2 = "0###" 'CS_codeclt_2=TextBox3
concatene = CS_codeclt_1.Value And CS_codeclt_2.Value
Next i
.Range("J1") = Index
.Cells("index", 1).Value = concatene
.Cells("index", 2).Value = UCase("CS_raissoc")
.Cells("index", 3).Value = UCase("CS_denom")
.Cells("index", 4).Value = UCase("CS_adresse_1")
.Cells("index", 5).Value = UCase("CS_adresse_2")
.Cells("index", 6).Value = UCase("CS_adresse_3")
.Cells("index", 7).Value = TCS_cp 'code postal à 5 CHIFFRES!!! (à faire...)
.Cells("index", 8).Value = UCase("CS_ville")
End With
End Sub
Merci d'avance
J'ai bien avancé hier soir sur mon travail VBA, notamment grâce à toutes les recherches effectuées sur ce site (merci porcinet).
Cependant, j'ai toujours un problème qui m'agace!!!
En cliquant sur un bouton de commande, différentes informations (inscrites dans des TEextBox) sur un client doivent s'enregistrer dans une feuille (Excel), c'est le code client qui m'ennuie.
Celui-ci doit se génerer automatiquement après avoir cliquer sur le bouton. Il se compose des quatres 1ères lettres de la raison sociale et d'un code à 4 chiffres.
J'ai donc créé deux TextBox, une correspondant aux lettres de la raison sociale et une autre aux 4 chiffres. Ensuite, j'avais pensé les concatener pour obtenir un seul code dans la feuille Excel.
De plus, le numéro à 4 chiffres commence à 0001 et doit s'incrémenter de 1 à chaque fois que l’on a un client dont le nom commence de la même façon. Exemple : 2 entreprises dont l’une se nomme DUPUIS Electricité et l’autre DUPUY Transports. DUPUIS Electricité, la première saisie sera codifiée DUPU0001 la seconde DUPUY Transports sera codifiée DUPU0002.
Là, j'avoue que je sèche complètement...
Je sollicite votre aide...
Voici le code que j'essaie de développer :
Public Sub BTN_ajouter_Click()
'Enregistrer les données dans la feuille "données_clts"
Dim Index As Long
Dim concatene As Variant
Dim i As Integer
With Worksheets("donneesclts")
Index = .Range("J1")
If Index = 0 Then
Index = 1
End If
Index = Index + 1
For i = 2 To Index
CS_codeclt_1 = Left(UCase(CS_raissoc), 4) 'CS_codeclt_1=TextBox1
CS_codeclt_2 = "0###" 'CS_codeclt_2=TextBox3
concatene = CS_codeclt_1.Value And CS_codeclt_2.Value
Next i
.Range("J1") = Index
.Cells("index", 1).Value = concatene
.Cells("index", 2).Value = UCase("CS_raissoc")
.Cells("index", 3).Value = UCase("CS_denom")
.Cells("index", 4).Value = UCase("CS_adresse_1")
.Cells("index", 5).Value = UCase("CS_adresse_2")
.Cells("index", 6).Value = UCase("CS_adresse_3")
.Cells("index", 7).Value = TCS_cp 'code postal à 5 CHIFFRES!!! (à faire...)
.Cells("index", 8).Value = UCase("CS_ville")
End With
End Sub
Merci d'avance