Erreur d'exécution '13' en chargeant userform

  • Initiateur de la discussion Initiateur de la discussion jomarion
  • Date de début Date de début

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 !

J

jomarion

Guest
Bonjour à tous,

Je suis pas très doué en VBA et j'ai un petit problème concernant l'ouverture d'un userform. Je vais tenter de vous expliquer la procédure. Je clique sur un bouton qui ouvre un premier userform nommé "Bordereau4" (avec Bordereau4.show et cela fonctionne très bien) qui contient 3 boutons dont un est sensé ouvrir un autre userform nommé "PRIX" (PRIX.show) mais cela me renvoie une erreur d'exécution '13'.

Je sais que ce serait pratique d'avoir le fichier mais il est énorme alors si quelqu'un peut me répondre sans que je vous le transfert ce serait bien sinon je trouverai un moyen d'en couper un bout pour vous l'envoyer.

Merci infiniment
 
Re : Erreur d'exécution '13' en chargeant userform

Merci pour le tuyau et voici le lien : Cijoint.fr - Service gratuit de dépôt de fichiers

Le problème se trouve dans l'onglet QUANTITÉS quand on clique sur le bouton "Produire tableau des quantités" et ensuite sur le bouton "importer les prix de l'entrepreneur gagnant"

Merci
 
Re : Erreur d'exécution '13' en chargeant userform

Bonsoir jomarion, hulk,

ton problème vient en fait de l'initialize de ton usf PRIX et non de ton bouton!
Code:
Private Sub UserForm_initialize()
Dim cell As Range
For Each cell In Range("[COLOR="Red"]SOUMISSIONNAIRES[/COLOR]")
     If cell <> "" Then
        ComboBox2.AddItem cell
    End If
    Next
End Sub

Soummissionnaire fait référence à une plage de donnée : ='ANALYSE DES SOUMISSIONS'!$G$3:$AJ$3

Tu précise que si tes cellules ne sont pas vides elles se rajoutent à la combobox2.
L'idéal est de préciser quelle colonne doit se rajouter précisement.

Or une combobox ne fait référence qu'à une colonne, voir une concaténation de plusieurs colonnes du genre:

Code:
Sub concatener()
i = 0
j = 0
  Me.ComboBox1.Clear
  For Each c In Range(Sheets("Item").[C2], Sheets("Item").[C65000].End(xlUp))
     Me.ComboBox1.AddItem
     Me.ComboBox1.List(i, 0) = c & " " & c.Offset(0, 1)
     Me.ComboBox1.List(i, 1) = c.Row
     i = i + 1
   Next c
   'Me.ComboBox1.ListIndex = 0
   
     Me.ComboBox2.Clear
  For Each d In Range(Sheets("Item").[A2], Sheets("Item").[A65000].End(xlUp))
     Me.ComboBox2.AddItem
     Me.ComboBox2.List(j, 0) = d & " " & d.Offset(0, 1)
     Me.ComboBox2.List(j, 1) = d.Row
     j = j + 1
   Next d
   
End Sub
 
Re : Erreur d'exécution '13' en chargeant userform

Merci pour les réponse. Je vais tenter de vous expliquer ce que je veux faire avec tout ça. Le but c'est d'entrer le nom des soumissionnaires avec le prix de leur soumission dans l'onglet "Liste des soumissionnaires" pour qu'il s'affiche automatiquement dans les entêtes (Range("SOUMISSIONNAIRE")). Ensuite on entre les prix par item de chaque entrepreneur pour comparer les soumissions.

Par la suite, on produit le tableau des quantités et on entre les prix unitaires et montant total de l'entrepreneur gagnant afin de suivre la progression des travaux. C'est pourquoi dans le combobox il faut avoir la liste des entrepreneurs qui ont soumissionnés pour importer les prix ensuite.

J'espère que c'est assez clair????
 
Re : Erreur d'exécution '13' en chargeant userform

Bonjour jomarion,

Je n'ai personnellement jamais utilisé cette méthode, mais après ne petite recherche sur un moteur de recherche voilà un lien qui pourrais sûrement t'aider:
ComboBox qui liste les colonnes dynamiquement

Private Sub UserForm_initialize()
Dim i As Long
Dim numcol As Long
Dim cl As Range

Sheets("ANALYSE DES SOUMISSIONS").Activate

For Each cl In Sheets("ANALYSE DES SOUMISSIONS").Range("G3:AJ3")
If cl.Value <> "" Then
numcol = cl.Column
Me.ComboBox2.AddItem IIf(numcol > 26, Chr(64 + numcol \ 26) & Chr(64 + numcol Mod 26), Chr(64 + numcol))
End If
Next cl
End Sub

Ce code récupéré et adapté du lien ci-dessus produit la même erreur 13, alors quand changeant la feuille source ex: LISTE DES SOUMMISSIONNAIRES cela fonctionne correctement, enfin avec ce que j'ai pu constater, mais je le répète je n'y connais rien en valeur colonne pour combobox, si ce n'est ce que je t'avais dit dans le poste précédent avec concatener.

Petite info tout de même les macros n'aiment pas les cellules fusionnées, privilégie le centre horizontale sur plusieurs colonnes.

Il y a de vrais experts sur ce forum qui sauront sûrement te proposer une solution.
 
Re : Erreur d'exécution '13' en chargeant userform

Merci pour ta précision.

Mais, le gros problème dans tout ça c'est que le nom des onglets peut être modifier. C'est pour ça que je voulais fonctionner avec des plages nommés.
 
Re : Erreur d'exécution '13' en chargeant userform

Bonsoir jomarion, Hulk, alex67800,

Je reste sur ton dernier message "le gros problème dans tout ça c'est que le nom des onglets peut être modifier"

Alors question : pourquoi le nom des onglets peut-être modifié Cela n'a guère de sens sur une application fonctionnelle...


A te lire et bonne soirée.

Jean-Pierre
 
Re : Erreur d'exécution '13' en chargeant userform

Les onglets peuvent changer de noms car le fichier va être utilisé par beaucoup de gens et selon leurs préférences, certains voudrons mettre la date dans le nom de l'onglet ou la phase du projet etc.

Je sais que c'est assez particulier mais ce sont le besoins
 
Re : Erreur d'exécution '13' en chargeant userform

En parlant de nom d'onglet, j'ai justement utilisé le fichier pour un projet où il y avait 2 options de construction. J'ai alors utilisé deux onglets "Analyse des soumissions" que j'avais renommés "Analyse des sou. Option 1" et l'autre Option 2.

C'est vraiment pour ce genre de situation que je veux utiliser des plages nommées.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
876
S
Réponses
16
Affichages
2 K
Retour