Problème de récuperation des données pour ma base de donnée
Bonjour, débutant sur excel VBA, je suis coincé par ce problème: j'ai créer un userform pour faire un formulaire. Mon code lorsque je clique sur le bouton valider est censé m'écrire dans une ded mes feuilles excel. Voici mon code:
********************
'Code internet pour definir une adresse mail valide
Private Function IsValidEmail(value As String) As Boolean
Dim RE As Object
Set RE = CreateObject("vbscript.RegExp")
RE.Pattern = "^[a-zA-Z0-9\._-]+@([a-zA-Z0-9_-]+\.)+([a-zA-Z]{2,3})$"
IsValidEmail = RE.Test(value)
Set RE = Nothing
End Function
'mon code
Private Sub valider()
If [L9] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf [L8] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf [L10] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf [L11] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf [L12] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf [L13] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf [L14] = "" Then
MsgBox "Veuillez remplir tout les champs"
ElseIf Not IsDate([L11].value) Or Len([L11].value) <> 10 Then
MsgBox "Format de date invalide" _
& Chr(10) & " ""Réessayer"""
ElseIf Not IsNumeric([L13].value) Or Len([L13].value) <> 10 Then
MsgBox "Numéro de téléphone invalide"
ElseIf Not IsValidEmail([L12].value) Then
MsgBox "Adresse mail invalide"
Else
Sheets("Base de donnée").[A1].End(xlDown).Offset(1, 0) = [L8]
Sheets("Base de donnée").[b1].End(xlDown).Offset(1, 0) = [L9]
Sheets("Base de donnée").[c1].End(xlDown).Offset(1, 0) = [L10]
Sheets("Base de donnée").[d1].End(xlDown).Offset(1, 0) = [L11]
Sheets("Base de donnée").[e1].End(xlDown).Offset(1, 0) = [L12]
Sheets("Base de donnée").[f1].End(xlDown).Offset(1, 0) = Format([L13], "00 00 00 00 00")
Sheets("Base de donnée").[g1].End(xlDown).Offset(1, 0) = [L14]
End If
End Sub
********************Edit modo : code à mettre entre balises avec le bouton </>
Cependant je ne comprends pas pourquoi il ne réécris pas en dessous mais il écrase les données dans les mêmes cellules.
Je vous remercie d'avance de votre aide.
Cordialement.
Bonjour Louis2000 et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)
Concernant votre demande, je ne sais pas pourquoi, nous n'avons pas de fichier
Vous pouvez peut-être essayer l'inverse
Sheets("Base de donnée").Range("A" & Rows.count).End(xlUp).Offset(1, 0) = [L8]Merci pour votre participation
Cordialement
Super merci je vais aller voir.
Pour le code que vous m’avez proposé, ça marche enfin niquel.
Merci beaucoup.