Worksheets("").Activate
JNO187
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
JNO187 Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
JNO187 Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voici en quelques mots mon problème
Pour des besoins perso, j'ai télécharger une base de données sur internet, mais cette base de données ne correspondait pas tout à fait à mes attentes, et j'ai voulu rajouter 2 onglets "société" et "fax" j'ai réussi à créer les boutons mais plus rien ne fonctionne dorénavant, lorsque je veux créer un contact, j'ai à chaque fois un nouveau message d'erreurs, vous l'aurez sans doute compris je ne comprends rien aux macros, VBA et autres...
Et là j'aurais besoin d'un petit coup de main SVP.
Voici ce qui apparaît :
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Liste"
Worksheets("").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtPrenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
txtPrenom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Nom)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtTelFax.Text = ""
txtTelPortable.Text = ""
txtNom.SetFocus
End If
End Sub
Private Sub cmdFermer_Click()
frmNouveau.Hide
End Sub
Private Sub lblAdresse_Click()
End Sub
Voici en quelques mots mon problème
Pour des besoins perso, j'ai télécharger une base de données sur internet, mais cette base de données ne correspondait pas tout à fait à mes attentes, et j'ai voulu rajouter 2 onglets "société" et "fax" j'ai réussi à créer les boutons mais plus rien ne fonctionne dorénavant, lorsque je veux créer un contact, j'ai à chaque fois un nouveau message d'erreurs, vous l'aurez sans doute compris je ne comprends rien aux macros, VBA et autres...
Et là j'aurais besoin d'un petit coup de main SVP.
Voici ce qui apparaît :
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Liste"
Worksheets("").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtPrenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
txtPrenom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Nom)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtTelFax.Text = ""
txtTelPortable.Text = ""
txtNom.SetFocus
End If
End Sub
Private Sub cmdFermer_Click()
frmNouveau.Hide
End Sub
Private Sub lblAdresse_Click()
End Sub
A voir également:
- Youtube/activate ne marche pas
- Comment télécharger une vidéo youtube - Guide
- Supprimer pub youtube - Accueil - Streaming
- Youtube mp3 - Guide
- Script vidéo youtube - Guide
- Télécharger youtube gratuit en arabe - Télécharger - TV & Vidéo
10 réponses
Bonjour,
Ceci me semble suspect :
Essaye de le remplacer par
A+ !
Ceci me semble suspect :
'On active la feuille "Liste" Worksheets("").Activate
Essaye de le remplacer par
'On active la feuille "Liste" Worksheets("Liste").ActivateSi la feuille "Liste" existe bien sûr.
A+ !
Salut
Merci pour ton aide à priori cela à l'air de fonctionner, mais maintenant j'ai cette ligne en gras qui apparaît en jaune:
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Liste"
Worksheets("Liste").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtPrenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
txtPrenom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Nom)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtTelFax.Text = ""
txtTelPortable.Text = ""
txtNom.SetFocus
End If
End Sub
Merci pour ton aide à priori cela à l'air de fonctionner, mais maintenant j'ai cette ligne en gras qui apparaît en jaune:
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Liste"
Worksheets("Liste").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtPrenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
txtPrenom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Nom)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtTelFax.Text = ""
txtTelPortable.Text = ""
txtNom.SetFocus
End If
End Sub
Re,
Essaye de corriger cette ligne :
Par celle-ci :
Essaye de corriger cette ligne :
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide numLigneVide = ActiveSheet.Columns(1).Find("").Row
Par celle-ci :
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide numLigneVide = ActiveSheet.Range("A65536").End(xlUp).Row
RE
Je viens de tenter mais nouvelle ligne en jaune (gras) :
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Liste"
Worksheets("Liste").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Range("A65536").End(xlUp).Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtSociete.Text = "" Then
MsgBox "Veuillez remplir le nom de votre Societe", vbCritical, "Champs manquant"
txtSociete.SetFocus
ElseIf txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtPrenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
txtPrenom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Societe)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtTelFax.Text = ""
txtTelPortable.Text = ""
txtNom.SetFocus
End If
End Sub
Je viens de tenter mais nouvelle ligne en jaune (gras) :
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Liste"
Worksheets("Liste").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Range("A65536").End(xlUp).Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtSociete.Text = "" Then
MsgBox "Veuillez remplir le nom de votre Societe", vbCritical, "Champs manquant"
txtSociete.SetFocus
ElseIf txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtPrenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
txtPrenom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Societe)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtTelFax.Text = ""
txtTelPortable.Text = ""
txtNom.SetFocus
End If
End Sub
Re
Encore une fois tu as raison, tout à l'air de quasi fonctionner, mis a part la commande fermer cf ligne en gras, à vrai HIDE n'ai pas proposé :
Private Sub TextBox1_Change()
End Sub
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Feuil1"
Worksheets("Feuil1").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Range("A65536").End(xlUp).Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtSociete.Text = "" Then
MsgBox "Veuillez remplir le nom de votre Societe", vbCritical, "Champs manquant"
txtSociete.SetFocus
ElseIf txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Societe)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtFax.Text = ""
txtTelPortable.Text = ""
txtSociete.SetFocus
End If
End Sub
Private Sub cmdFermer_Click()
frmNouveau.Hide
End Sub
Private Sub txtCp_Change()
End Sub
Private Sub txtTelfixe_Change()
End Sub
Private Sub txtTelPortable_Change()
End Sub
Encore une fois tu as raison, tout à l'air de quasi fonctionner, mis a part la commande fermer cf ligne en gras, à vrai HIDE n'ai pas proposé :
Private Sub TextBox1_Change()
End Sub
Private Sub cmdAjouter_Click()
Dim numLigneVide As Integer
'On active la feuille "Feuil1"
Worksheets("Feuil1").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable numLigneVide
numLigneVide = ActiveSheet.Range("A65536").End(xlUp).Row
'On vérifie que les champs obligatoires sont correctement remplis
If txtSociete.Text = "" Then
MsgBox "Veuillez remplir le nom de votre Societe", vbCritical, "Champs manquant"
txtSociete.SetFocus
ElseIf txtNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
txtNom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtSociete.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtNom.Text
ActiveSheet.Cells(numLigneVide, 3) = txtPrenom.Text
ActiveSheet.Cells(numLigneVide, 4) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 5) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 6) = txtVille.Text
ActiveSheet.Cells(numLigneVide, 7) = txtEmail.Text
ActiveSheet.Cells(numLigneVide, 8) = txtTelFixe.Text
ActiveSheet.Cells(numLigneVide, 9) = txtFax.Text
ActiveSheet.Cells(numLigneVide, 10) = txtTelPortable.Text
'On efface le formulaire et on replace le curseur sur le premier champs (Societe)
txtSociete.Text = ""
txtNom.Text = ""
txtPrenom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
txtEmail.Text = ""
txtTelFixe.Text = ""
txtFax.Text = ""
txtTelPortable.Text = ""
txtSociete.SetFocus
End If
End Sub
Private Sub cmdFermer_Click()
frmNouveau.Hide
End Sub
Private Sub txtCp_Change()
End Sub
Private Sub txtTelfixe_Change()
End Sub
Private Sub txtTelPortable_Change()
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
HEU en faite tu avais raison mon userform portait également le nom Nouveau, il y à sans doute eu un conflit, mais bon mon problème est résolu.
Un très grand merci pour ton aide !
Un très grand merci pour ton aide !