MsgBox si Non retourne au formulaire sans supprimer les données saisie

Bonjour,

Je veux créer un nouveau code de produit qui se met automatiquement dans une feuille excel et que quand le tout est dans la feuille excel les données se supprime des cellules. Le tout fonctionne sauf que sa n'inscrit pas dans la bonne feuille.

Et si je clique sur non je veux que la boite de dialogue ferme et n'efface pas les informations déjà saisie.

Merci de votre aide.

Voici mon fichier.

Mon test est sur le USERFORM - code_rail_cable

Bonsoir ashley, le forum,

Le tout fonctionne sauf que sa n'inscrit pas dans la bonne feuille.

Tu ne précise pas sur quelle feuille il faut écrire.

Dim L As Integer
 If MsgBox("Confirmez-vous l’ajout de ce nouveau code ?", vbYesNo, "Demande de confirmation d’ajout de code") = vbYes Then

 With Sheets("Saisie")
 L = .Range("A" & Rows.Count).End(xlUp).Row + 1
 .Range("A" & L).Value = TextBox1
 .Range("B" & L).Value = ComboBox11
 .Range("C" & L).Value = ComboBox3
 .Range("AI" & L).Value = ComboBox12
 .Range("F" & L).Value = TextBox15
 .Range("N" & L).Value = TextBox7
 .Range("M" & L).Value = TextBox15
 .Range("V" & L).Value = TextBox2
 .Range("Z" & L).Value = TextBox3
 .Range("W" & L).Value = ComboBox1
 .Range("X" & L).Value = ComboBox4
 .Range("Y" & L).Value = ComboBox5
 .Range("AA" & L).Value = ComboBox6
 .Range("AB" & L).Value = ComboBox7
 .Range("AC" & L).Value = ComboBox8
 .Range("AD" & L).Value = ComboBox9
 .Range("AE" & L).Value = ComboBox10
 .Range("AF" & L).Value = TextBox4
 .Range("AG" & L).Value = TextBox5
 End With

Cordialement,

si je clique sur non je veux que la boite de dialogue ferme et n'efface pas les informations déjà saisie

?

Bonne soirée,

Merci beaucoup xorsankukai

c'est en plein ça.

Pour le fait de saisir les données de mon UserForm dans la feuille Saisie.

Ca ne fonctionne pas. Ca prend toujours la feuille que je suis active.

Voici mon code et mon fichier

'Nouveau code

Private Sub CommandButton1_Click()

Dim L As Integer

If MsgBox("Confirmez-vous l’ajout de ce nouveau code ?", vbYesNo, "Demande de confirmation d’ajout de code") = vbYes Then

With Sheets("Saisie")

L = .Range("a1048576").End(xlUp).Row + 1

Range("A" & L).Value = TextBox1

Range("B" & L).Value = ComboBox11

Range("C" & L).Value = ComboBox3

Range("AL" & L).Value = TextBox6

Range("F" & L).Value = TextBox7

Range("AK" & L).Value = ComboBox12

Range("AJ" & L).Value = TextBox15

Range("V" & L).Value = ComboBox13

Range("Z" & L).Value = TextBox3

Range("W" & L).Value = ComboBox1

Range("X" & L).Value = ComboBox4

Range("Y" & L).Value = ComboBox5

Range("AA" & L).Value = ComboBox6

Range("AB" & L).Value = ComboBox7

Range("AC" & L).Value = ComboBox8

Range("AD" & L).Value = ComboBox9

Range("AF" & L).Value = TextBox4

Range("AG" & L).Value = TextBox5

End With

TextBox1.Value = ""

ComboBox11.Value = ""

ComboBox3.Value = ""

TextBox6.Value = ""

TextBox7.Value = ""

ComboBox12.Value = ""

TextBox15.Value = ""

ComboBox13.Value = ""

TextBox3.Value = ""

ComboBox1.Value = ""

ComboBox4.Value = ""

ComboBox5.Value = ""

ComboBox6.Value = ""

ComboBox7.Value = ""

ComboBox8.Value = ""

ComboBox9.Value = ""

TextBox4.Value = ""

TextBox5.Value = ""

MsgBox "Le nouveau code a été ajouté!"

Else

MsgBox "Vous pouvez apporter les modifications nécessaires."

End If

End Sub

Bonjour ashley,

Attention, tu n'as pas regardé le code attentivement,

Si tu mets with sheets("Saisie") tu dois rajouter des . devant les Range..sinon tu agis sur la feuille active...

'Nouveau code
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’ajout de ce nouveau code ?", vbYesNo, "Demande de confirmation d’ajout de code") = vbYes Then

With Sheets("Saisie")
L = .Range("a1048576").End(xlUp).Row + 1
.Range("A" & L).Value = TextBox1
.Range("B" & L).Value = ComboBox11
.Range("C" & L).Value = ComboBox3
.Range("AL" & L).Value = TextBox6
.Range("F" & L).Value = TextBox7
.Range("AK" & L).Value = ComboBox12
.Range("AJ" & L).Value = TextBox15
.Range("V" & L).Value = ComboBox13
.Range("Z" & L).Value = TextBox3
.Range("W" & L).Value = ComboBox1
.Range("X" & L).Value = ComboBox4
.Range("Y" & L).Value = ComboBox5
.Range("AA" & L).Value = ComboBox6
.Range("AB" & L).Value = ComboBox7
.Range("AC" & L).Value = ComboBox8
.Range("AD" & L).Value = ComboBox9
.Range("AF" & L).Value = TextBox4
.Range("AG" & L).Value = TextBox5
End With

TextBox1.Value = ""
ComboBox11.Value = ""
ComboBox3.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
ComboBox12.Value = ""
TextBox15.Value = ""
ComboBox13.Value = ""
TextBox3.Value = ""
ComboBox1.Value = ""
ComboBox4.Value = ""
ComboBox5.Value = ""
ComboBox6.Value = ""
ComboBox7.Value = ""
ComboBox8.Value = ""
ComboBox9.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
MsgBox "Le nouveau code a été ajouté!"
Else
MsgBox "Vous pouvez apporter les modifications nécessaires."
End If

End Sub

Cordialement,

Merci beaucoup.

Je ne comprends pas tous les termes encore.

J'en apprend toutes les fois.

Ça fonctionne! par contre ça début à la ligne 6 est-ce que c'est possible de réinitialiser avant de le mettre disponible à mes employés pour ca commencer à la première ligne?

Re,

Tu dois avoir une erreur : TextBox6 n'existe pas, c'est ComboBox6 me semble-t-il (du moins chez moi, ça me génère cette erreur)..

Ça commence en ligne 6 car tu dois avoir des données inscrites en colonne A, supprimes les 6 premières lignes et ça devrait fonctionner.

Cordialement,

Rechercher des sujets similaires à "msgbox retourne formulaire supprimer donnees saisie"