XL 2021 erreur visual basic &H80004005 (-2147467259) non spécifié

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chris66000

XLDnaute Occasionnel
Bonjour
je suis entrain de construire un classeur avec macro, User Form ,Text box qui me rempli des ocs! tout fonctionnait bien et maintenant a l'ouverture comme a l'enregistrement j'ai ;

erreur visual basic &H80004005 (-2147467259) non spécifié​

j'ai essayer de démarrer Excel en mode sans echec cela fonctionne
quelqu'un peut il m'aider

merci d 'avance
 
Bonjour Simplement parce que ne pouvant plus enregistrer le classeur, je ne peux cacher les coordonnées des clients et de la société ! C'est juste une question de confidentialité por nos clients .

Je le transmets ....

Je pense que tu devrais recréer tout le fichier de zéro, à mon avis fichier corrompu, je dis bien à mon avis.
Et faire des test aléatoirement.

Nicolas
 
Salut,
c'est ton formulaire clients qui est "vérolé" c'est lui qui déclenche des erreurs. Il faut que tu le supprimes de ton classeur. (ouvrir le classeur en mode macro désactivé (appuyer sur MAJ pendant le double clic du fichier). Supprimer le formulaire. En espérant que tu ais une version "non vérolée) de ton formulaire ailleurs. Il y a des données confidentielles dans ton classeur, je ne peux pas mettre la version sans clients en pièce jointe.
Nullosse.
 
Bonjour à tous,
Quand on dit qu'il faut toujours faire des sauvegarde avant de changer quoi que ce soit au niveau du code...
J'ai bien peur qu'il ne faille supprimer votre code. et le formulaire qui vous pose problème.
Voici une version corrigée avec un formulaire vièrge. A vous de recréer le code, on peut vous y aider si vous nous donner les informations utiles et nécessaires.
 

Pièces jointes

Salut,
c'est ton formulaire clients qui est "vérolé" c'est lui qui déclenche des erreurs. Il faut que tu le supprimes de ton classeur. (ouvrir le classeur en mode macro désactivé (appuyer sur MAJ pendant le double clic du fichier). Supprimer le formulaire. En espérant que tu ais une version "non vérolée) de ton formulaire ailleurs. Il y a des données confidentielles dans ton classeur, je ne peux pas mettre la version sans clients en pièce jointe.
Nullosse.
Merci je vais suivre ton conseil !
 
Bonjour à tous,
Quand on dit qu'il faut toujours faire des sauvegarde avant de changer quoi que ce soit au niveau du code...
J'ai bien peur qu'il ne faille supprimer votre code. et le formulaire qui vous pose problème.
Voici une version corrigée avec un formulaire vièrge. A vous de recréer le code, on peut vous y aider si vous nous donner les informations utiles et nécessaires.
Merci....je vais le recreer et je reviens vers toi
 
Voici une version corrigée avec un formulaire vièrge. A vous de recréer le code, on peut vous y aider si vous nous donner les informations utiles et nécessaires.
Et voici le code VBA du UserForm originel :
VB:
Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    Dim j As Long
    Dim valeur_combobox1 As Integer
    Dim valeur_combobox2 As Integer
    Dim valeur_combobox3 As Integer
   
   
    Set ws = Sheets("REGLEMENT")
    With Me.ComboBox1
        .Clear ' Efface les anciens éléments, si nécessaire
        For j = 3 To ws.Range("I" & Rows.Count).End(xlUp).Row
            .AddItem ws.Range("I" & j).Value
        Next j
    End With
                  
           With Me.ComboBox2
        .Clear ' Efface les anciens éléments, si nécessaire
        For j = 3 To ws.Range("I" & Rows.Count).End(xlUp).Row
            .AddItem ws.Range("I" & j).Value
        Next j
    End With
                  With Me.ComboBox3
                .Clear ' Efface les anciens éléments, si nécessaire
                 For j = 3 To ws.Range("I" & Rows.Count).End(xlUp).Row
                .AddItem ws.Range("I" & j).Value
                 Next j
                 End With
   
   
End Sub


Private Sub CommandButton1_Click()
'remets a blanc le formulaire
NomSyndic.Text = ""
Adressesyndic.Text = ""
 Adressesyndic2.Text = ""
 Cpsyndic.Text = ""
Villesyndic.Text = ""
 Nomresidence.Text = ""
 Adresse1res.Text = ""
 Adresse2res.Text = ""
 Cpres.Text = ""
 Villeres.Text = ""



End Sub




Private Sub CommandButton3_Click()
Sheets("propo contrat").Select
Cells(10, 3) = NomSyndic.Text
Cells(10, 5) = Adressesyndic.Text
Cells(10, 6) = Adressesyndic2.Text
Cells(10, 8) = Cpsyndic.Text
Cells(10, 9) = Villesyndic.Text
Cells(12, 2) = Nomresidence.Text
Cells(12, 4) = Adresse1res.Text
Cells(12, 5) = Adresse2res.Text
Cells(12, 8) = Cpres.Text
Cells(12, 9) = Villeres.Text
Cells(14, 3) = Nbre_portail.Text
Cells(14, 4) = ComboBox1.Value
Cells(14, 5) = ComboBox2.Value
Cells(14, 6) = ComboBox3.Value







  

End Sub
Y a pu qu'à r'mettre les objets dans l'formulaire.
 
Et voici le code VBA du UserForm originel :
VB:
Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    Dim j As Long
    Dim valeur_combobox1 As Integer
    Dim valeur_combobox2 As Integer
    Dim valeur_combobox3 As Integer
   
   
    Set ws = Sheets("REGLEMENT")
    With Me.ComboBox1
        .Clear ' Efface les anciens éléments, si nécessaire
        For j = 3 To ws.Range("I" & Rows.Count).End(xlUp).Row
            .AddItem ws.Range("I" & j).Value
        Next j
    End With
                  
           With Me.ComboBox2
        .Clear ' Efface les anciens éléments, si nécessaire
        For j = 3 To ws.Range("I" & Rows.Count).End(xlUp).Row
            .AddItem ws.Range("I" & j).Value
        Next j
    End With
                  With Me.ComboBox3
                .Clear ' Efface les anciens éléments, si nécessaire
                 For j = 3 To ws.Range("I" & Rows.Count).End(xlUp).Row
                .AddItem ws.Range("I" & j).Value
                 Next j
                 End With
   
   
End Sub


Private Sub CommandButton1_Click()
'remets a blanc le formulaire
NomSyndic.Text = ""
Adressesyndic.Text = ""
 Adressesyndic2.Text = ""
 Cpsyndic.Text = ""
Villesyndic.Text = ""
 Nomresidence.Text = ""
 Adresse1res.Text = ""
 Adresse2res.Text = ""
 Cpres.Text = ""
 Villeres.Text = ""



End Sub




Private Sub CommandButton3_Click()
Sheets("propo contrat").Select
Cells(10, 3) = NomSyndic.Text
Cells(10, 5) = Adressesyndic.Text
Cells(10, 6) = Adressesyndic2.Text
Cells(10, 8) = Cpsyndic.Text
Cells(10, 9) = Villesyndic.Text
Cells(12, 2) = Nomresidence.Text
Cells(12, 4) = Adresse1res.Text
Cells(12, 5) = Adresse2res.Text
Cells(12, 8) = Cpres.Text
Cells(12, 9) = Villeres.Text
Cells(14, 3) = Nbre_portail.Text
Cells(14, 4) = ComboBox1.Value
Cells(14, 5) = ComboBox2.Value
Cells(14, 6) = ComboBox3.Value







  

End Sub
Merci ..cela va me faire gagner un temps fou ! j'essaye cela en fin d'apres midi et reviens vers vous
merci
 
Re,
Voici un petit essais,
Quelques retours sur code :
  • Évitez de gérer les cellules des feuille depuis le formulaire. Ce n'est pas son rôle (Utiliser un propriété ou autre voir le code)
  • Au lieux de gérer moult champs nommés pour les adresses faite plutôt une concaténation (voir le code dans le module Current)
  • Créez des constantes cela vous évitera les erreurs de saisies (Voir le module Factory)
  • Utilisez les dictionnaires ce sont vos amis (Le code en est plus clair)
J'ai refais une partie du formulaire. Pour le lancer : il faut impérativement :
  • Soit cliquer sur le bouton de la feuille Propo contrat
  • Soit lancer la procédure RunClientsForm dans le module Current
Je n'ai que survoler le code des autres modules. Il y a des changements à effectuer...
 

Pièces jointes

Re,
Voici un petit essais,
Quelques retours sur code :
  • Évitez de gérer les cellules des feuille depuis le formulaire. Ce n'est pas son rôle (Utiliser un propriété ou autre voir le code)
  • Au lieux de gérer moult champs nommés pour les adresses faite plutôt une concaténation (voir le code dans le module Current)
  • Créez des constantes cela vous évitera les erreurs de saisies (Voir le module Factory)
  • Utilisez les dictionnaires ce sont vos amis (Le code en est plus clair)
J'ai refais une partie du formulaire. Pour le lancer : il faut impérativement :
  • Soit cliquer sur le bouton de la feuille Propo contrat
  • Soit lancer la procédure RunClientsForm dans le module Current
Je n'ai que survoler le code des autres modules. Il y a des changements à effectuer...
Re,
Voici un petit essais,
Quelques retours sur code :
  • Évitez de gérer les cellules des feuille depuis le formulaire. Ce n'est pas son rôle (Utiliser un propriété ou autre voir le code)
  • Au lieux de gérer moult champs nommés pour les adresses faite plutôt une concaténation (voir le code dans le module Current)
  • Créez des constantes cela vous évitera les erreurs de saisies (Voir le module Factory)
  • Utilisez les dictionnaires ce sont vos amis (Le code en est plus clair)
J'ai refais une partie du formulaire. Pour le lancer : il faut impérativement :
  • Soit cliquer sur le bouton de la feuille Propo contrat
  • Soit lancer la procédure RunClientsForm dans le module Current
Je n'ai que survoler le code des autres modules. Il y a des changements à effectuer...
Bonsoir,
Je decouvre ton travail ......parfait! je ne sais comment te remercier.
je vais maintenant essayer de travailler dessus et te tiens au courant

merci
christian
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour