Mon fichier Excel se ferme à l'exécution de mon code VBA
FK1er
-
FK1er -
FK1er -
Bonjour, mon nom c'est François aidez moi s'il vous plait mon fichier excel se ferme à l'execution de mon code VBA qui consiste a stocker les donnés d'un userform à une base de donnée d'une feuille du même fichier. je suis confus je ne sais plus quoi faire. Quand je fait le pas à pas (F8) je me rend compte que c'est ce code :
'Ajouter une nouvelle ligne
Sheets("DEPOT").ListObjects(1).ListRows.Add
qui est à la base mais je ne sais quoi faire pour résoudre ce problème
voici tout mon code
Private Sub CommandButton1_Click()
On Error Resume Next
'Raffraichissemment de l'ecran
Application.ScreenUpdating = False
'Masquer le ruban
Application.DisplayFullScreen = True
'On Error Resume Next
'Déclaration de variable
Dim DPL As Integer
Dim DEPOT As Sheets
If Me.NPCL <> " " Then
If MsgBox("Voulez-vous valider ces informations?", vbYesNo, "CONFIRMATION") = vbYes Then
'Rechercher la dernière ligne
DPL = Sheets("DEPOT").Range("J1048574").End(xlUp).Row
'Ajouter une nouvelle ligne
Sheets("DEPOT").ListObjects(1).ListRows.Add
'Incrémentation du numéro ID
Sheets("DEPOT").Range("J" & DPL) = Sheets("DEPOT").Range("L2")
'Ajouts d'informations
Sheets("DEPOT").Range("A" & DPL) = Me.DDCL
Sheets("DEPOT").Range("B" & DPL) = Me.NPCL
Sheets("DEPOT").Range("C" & DPL) = Me.GDCL
Sheets("DEPOT").Range("D" & DPL) = Me.NCCL
Sheets("DEPOT").Range("E" & DPL) = Me.NOCCL
Sheets("DEPOT").Range("F" & DPL) = Me.NOACL
Sheets("DEPOT").Range("G" & DPL) = Me.NPACL
Sheets("DEPOT").Range("H" & DPL) = Me.MDCL
'Incrémentation du N°ID
Sheets("DEPOT").Range("L2") = Sheets("DEPOT").Range("L2") + 1
'Nettoyage des comboboxs
DDCL = " "
NPCL = " "
GDCL = " "
NCCL = " "
NOCCL = " "
NOACL = " "
NPACL = " "
MDCL = " "
MsgBox "Vos informations sont enrégistrés en toute sécurité!", Okonly + vbInformation, "CONFIRMATION"
'Fermeture du formulaire
Unload Me
'Enrégistrement
' enr Macro
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
'Rafraichir le forulaire
DEPOTS.Show
End If
End If
End Sub
'Ajouter une nouvelle ligne
Sheets("DEPOT").ListObjects(1).ListRows.Add
qui est à la base mais je ne sais quoi faire pour résoudre ce problème
voici tout mon code
Private Sub CommandButton1_Click()
On Error Resume Next
'Raffraichissemment de l'ecran
Application.ScreenUpdating = False
'Masquer le ruban
Application.DisplayFullScreen = True
'On Error Resume Next
'Déclaration de variable
Dim DPL As Integer
Dim DEPOT As Sheets
If Me.NPCL <> " " Then
If MsgBox("Voulez-vous valider ces informations?", vbYesNo, "CONFIRMATION") = vbYes Then
'Rechercher la dernière ligne
DPL = Sheets("DEPOT").Range("J1048574").End(xlUp).Row
'Ajouter une nouvelle ligne
Sheets("DEPOT").ListObjects(1).ListRows.Add
'Incrémentation du numéro ID
Sheets("DEPOT").Range("J" & DPL) = Sheets("DEPOT").Range("L2")
'Ajouts d'informations
Sheets("DEPOT").Range("A" & DPL) = Me.DDCL
Sheets("DEPOT").Range("B" & DPL) = Me.NPCL
Sheets("DEPOT").Range("C" & DPL) = Me.GDCL
Sheets("DEPOT").Range("D" & DPL) = Me.NCCL
Sheets("DEPOT").Range("E" & DPL) = Me.NOCCL
Sheets("DEPOT").Range("F" & DPL) = Me.NOACL
Sheets("DEPOT").Range("G" & DPL) = Me.NPACL
Sheets("DEPOT").Range("H" & DPL) = Me.MDCL
'Incrémentation du N°ID
Sheets("DEPOT").Range("L2") = Sheets("DEPOT").Range("L2") + 1
'Nettoyage des comboboxs
DDCL = " "
NPCL = " "
GDCL = " "
NCCL = " "
NOCCL = " "
NOACL = " "
NPACL = " "
MDCL = " "
MsgBox "Vos informations sont enrégistrés en toute sécurité!", Okonly + vbInformation, "CONFIRMATION"
'Fermeture du formulaire
Unload Me
'Enrégistrement
' enr Macro
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
'Rafraichir le forulaire
DEPOTS.Show
End If
End If
End Sub
Configuration: Windows / Chrome 97.0.4692.99
A voir également:
- Fichier excel se ferme tout seul macro
- Fichier bin - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
18 réponses
Bonjour,
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour JCB40, j'ai créé un Userform sur lequel j'ai mis les combobox qui doivent receuilir le nom, prénom, genre, adresse, Non Téléphone, ...
Un bouton de validation qui exécute le code qui consiste à stocker les informations saisies dans les comboboxs dans un tableau d'une feuille du même fichier excel.
Le fichier excel se ferme quand j'appuie sur la touche valider qui exécute le code. Voilà en quelques sortes mon soucis
Un bouton de validation qui exécute le code qui consiste à stocker les informations saisies dans les comboboxs dans un tableau d'une feuille du même fichier excel.
Le fichier excel se ferme quand j'appuie sur la touche valider qui exécute le code. Voilà en quelques sortes mon soucis
J'ai remarqué que dans de nombreux code tu as ce qui est ci-dessous
'Fermeture du formulaire
Unload Me
Le code Unload Me supprimes le de tous tes codes
et mets le dans le code du bouton de fermeture de chaque UserForm
'Fermeture du formulaire
Unload Me
Le code Unload Me supprimes le de tous tes codes
et mets le dans le code du bouton de fermeture de chaque UserForm
D'accord c'est compris. Mais quand j'ai fais le pas à pas (F8) j'ai remarqué que c'est à l'exécution de cette commande
'Ajouter une nouvelle ligne
Sheets("DEPOT").ListObjects(1).ListRows.Add
que le fichier excel se ferme. Merci
'Ajouter une nouvelle ligne
Sheets("DEPOT").ListObjects(1).ListRows.Add
que le fichier excel se ferme. Merci
Bonjour JCB40, merci pour l'idée d'hier. J'ai désactivé le unload Me dans le code mais hélas le problème persiste.
J'ai même changer de code mais pas de solution. Voici le nouveau code
Private Sub BTCL_Click()
On Error Resume Next
'Raffraichissemment de l'ecran
Application.ScreenUpdating = False
'Masquer le ruban
Application.DisplayFullScreen = True
'Ajouts d'informations
'If MsgBox("Voulez-vous valider ces informations?", vbYesNo) = vbYes Then
Sheets("CLIENTS").Activate
Range("A1").Select
'Se positionner sur la dernière ligne
Selection.End(xlDown).Select
'Se décaler d'une ligne vers le bas
Selection.Offset(1, 0).Select
ActiveCell = DCL.Value
ActiveCell.Offset(0, 1).Value = NCL
ActiveCell.Offset(0, 2).Value = PCL
ActiveCell.Offset(0, 3).Value = GCL
ActiveCell.Offset(0, 4).Value = ACL
ActiveCell.Offset(0, 5).Value = T1CL
ActiveCell.Offset(0, 6).Value = T2CL
ActiveCell.Offset(0, 7).Value = LCL
ActiveCell.Offset(0, 8).Value = ZNCL
ActiveCell.Offset(0, 9).Value = PACL
ActiveCell.Offset(0, 10).Value = NACL
ActiveCell.Offset(0, 11).Value = QCL
ActiveCell.Offset(0, 12).Value = CCL
'Nettoyage des comboboxs
DCL = Empty
NCL = Empty
PCL = Empty
GCL = Empty
ACL = Empty
T1CL = Empty
T2CL = Empty
LCL = Empty
ZNCL = Empty
PACL = Empty
NACL = Empty
QCL = Empty
CCL = Empty
MsgBox "Vos informations sont enrégistrés en toute sécurité!", vbOKOnly + vbInformation, "CONFIRMATION"
J'ai même changer de code mais pas de solution. Voici le nouveau code
Private Sub BTCL_Click()
On Error Resume Next
'Raffraichissemment de l'ecran
Application.ScreenUpdating = False
'Masquer le ruban
Application.DisplayFullScreen = True
'Ajouts d'informations
'If MsgBox("Voulez-vous valider ces informations?", vbYesNo) = vbYes Then
Sheets("CLIENTS").Activate
Range("A1").Select
'Se positionner sur la dernière ligne
Selection.End(xlDown).Select
'Se décaler d'une ligne vers le bas
Selection.Offset(1, 0).Select
ActiveCell = DCL.Value
ActiveCell.Offset(0, 1).Value = NCL
ActiveCell.Offset(0, 2).Value = PCL
ActiveCell.Offset(0, 3).Value = GCL
ActiveCell.Offset(0, 4).Value = ACL
ActiveCell.Offset(0, 5).Value = T1CL
ActiveCell.Offset(0, 6).Value = T2CL
ActiveCell.Offset(0, 7).Value = LCL
ActiveCell.Offset(0, 8).Value = ZNCL
ActiveCell.Offset(0, 9).Value = PACL
ActiveCell.Offset(0, 10).Value = NACL
ActiveCell.Offset(0, 11).Value = QCL
ActiveCell.Offset(0, 12).Value = CCL
'Nettoyage des comboboxs
DCL = Empty
NCL = Empty
PCL = Empty
GCL = Empty
ACL = Empty
T1CL = Empty
T2CL = Empty
LCL = Empty
ZNCL = Empty
PACL = Empty
NACL = Empty
QCL = Empty
CCL = Empty
MsgBox "Vos informations sont enrégistrés en toute sécurité!", vbOKOnly + vbInformation, "CONFIRMATION"
Bonjour
Un exemple de ton fichier "Feuille clients" j'ai ajouté un bouton ,tu verras que ça fonctionne normalement ,si j'ai tout compris
https://www.cjoint.com/c/LBAkXBfI0Da
Un exemple de ton fichier "Feuille clients" j'ai ajouté un bouton ,tu verras que ça fonctionne normalement ,si j'ai tout compris
https://www.cjoint.com/c/LBAkXBfI0Da
Bonjour JCB40. Merci pour l'aide
j'ai testé ça marche.
Dites moi les boutons, pouvez- vous me conseiller de les laisser ou de les enlever? Puisque je vais continuer le développement du logicièl.
Mais j'aimerais avoir une idée sur la manière dont vous avez procéder pour gérer ce problème. Merci
j'ai testé ça marche.
Dites moi les boutons, pouvez- vous me conseiller de les laisser ou de les enlever? Puisque je vais continuer le développement du logicièl.
Mais j'aimerais avoir une idée sur la manière dont vous avez procéder pour gérer ce problème. Merci