Erreurs dans des formulaires

Fermé
pouya92 Messages postés 5 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 11 juillet 2017 - 11 juil. 2013 à 13:31
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 - 11 juil. 2013 à 18:01
Bonjour,

J'essaie de créer un fichier excel en me servant de VBA. Je précise que j'ai commencé à utiliser VBA il y a une semaine ou deux et que je débute encore.

Dans ce fichier, l'utilisateur a accès à un formulaire dans lequel il sélectionne un pays puis un magasin et clique sur "ajouter magasin" pour ajouter le magasin à un tableau. Les magasins diffèrent selon les pays choisis. En cliquant sur "ajouter magasin", le formulaire se vide et on a la possibilité de resélectionner un pays et un magasin pour en ajouter un autre.

Je rencontre 2 erreurs que je ne comprends pas.

1) Si je clique sur le bouton qui ouvre le formulaire et que je sélectionne le pays puis le magasin, ça marche très bien. En revanche, une fois que je clique sur "ajouter magasin", si je réessaie de sélectionner un pays ça met met le message d'erreur: "Erreur de dépassement de capacité". Si je ferme le formulaire et que je le rouvre, ça remarche, mais il est impossible d'ajouter 2 magasins à la suite. Je comprends bien que "dépassement de capacité" veut dire que les types de variable que j'ai choisis ne correspondent pas aux valeurs que mes variables prennent, mais je ne vois vraiment pas comment les valeurs de mes variables peuvent dépasser 15.

Voici le code que j'ai fait pour le changement de pays:

Private Sub ComboBoxPays_Change()

ComboBoxMagasin.Clear


Dim no_colonne As Integer, nb_lignes As Integer
no_colonne = ComboBoxPays.ListIndex + 4
nb_lignes = Cells(12, no_colonne).End(xlDown).Row

For i = 13 To nb_lignes
ComboBoxMagasin.AddItem Cells(i, no_colonne)
Next

End Sub

Au 2e essai d'ajouter un magasin, c'est la ligne nb_lignes = Cells(12, no_colonne).End(xlDown).Row qui apparemment pose problème.

Pourquoi ça marcherait au premier essai et pas au 2e?

J'ai essayé de changer des integer en long au cas où mais ça a juste fait planter excel.


2) Dans l'idéal, au fur et à mesure qu'on ajoute des magasins, ils s'ajoutent sur une ligne (c'est-à-dire que je veux que le deuxième magasin soit immédiatement à droite du premier etc). J'ai donc essayé de chercher la première cellule vide après le premier magasin (qui lui est forcément rempli) mais ça me met l'erreur: "erreur définie par l'application ou par l'objet".

J'ai utilisé cette formule: Range("D3").End(xlToRight).Offset(0, 1).Select mais apparemment elle pose problème.
Etant donné que mes magasins s'ajoutent dans des cellules fusionnées (le premier magasin se met dans les cellules D3 et E3 qui sont fusionnées), j'ai essayé la formule: Range("D3:E3").End(xlToRight).Offset(0, 1).Select au cas où le problème était dû aux cellules fusionnées mais ça n'a rien changé.


Si vous avez tout lu, merci déjà de votre patience. Est-ce que vous sauriez d'où peuvent venir ces problèmes? ça me débloquerait vraiment.

Merci d'avance pour votre aide.




1 réponse

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
11 juil. 2013 à 18:01
Bonjour,

Quel est le code sur le bouton "Ajouter magasin"

Cordialement
0