Procédure trop grande

  • Initiateur de la discussion Initiateur de la discussion MarJolaine
  • 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 !

M

MarJolaine

Guest
Bonjour,

J'essaie d'effectuer une macro qui fonctionnais très bien au début mais lorsque j'ai eu terminé toute la macro, j'ai un message m'indiquant que ma procédure est trop grande.

Que faire dans ce cas la??

Merci,

-MarJ-

😕
 
Il y a une Erreur de Compilation.
Membre de méthode ou de donnée introuvable sur

Private Sub UserForm_Initialize()
Dim I As Long, dercolon As Long 'Déclaration de la variable colonne

TextBox14 = DateValue(Now) 'Impose un format de DATE "25/11/2019"

' NOMBRE POUR MENU DEROULLANT sur combobox nommé "Nombre"
With Nombre
.CellsItem ""
.CellsItem "1"
.CellsItem "2"
.CellsItem "3"
.CellsItem "4"
.CellsItem "5+"

que faire ?
 
oui je crois.
mais même en appelant une plage nommée "Nombre" que j'ai modifier le problème de .CellsItem reste sur le code :
VB:
With Sheets("C3") 'Recherche dans("C3")
Me.ComboBox1.Clear 'Vider la ComboBox1
For I = 3 To .Range("A65000").End(xlUp).Row  'Boucle de recherche en montant(xlUp) dans colonne A jusqu'a cellule vide
If .Cells(I, 1) <> "" Then Me.ComboBox1[B].CellsItem [/B](.Cells(I, 1).Value) 'la recherche devient la liste déroulante de la ComboBox1
Next I
 
With Sheets("C3") 'Recherche dans("C3") Me.ComboBox1.Clear 'Vider la ComboBox1 For I = 3 To .Range("A65000").End(xlUp).Row 'Boucle de recherche en montant(xlUp) dans colonne A jusqu'a cellule vide If .Cells(I, 1) <> "" Then Me.ComboBox1.CellsItem (.Cells(I, 1).Value) 'la recherche devient la liste déroulante de la ComboBox1 Next I

Bonsoir Charier le Forum.,
Je pense comme cela.
Then Me.ComboBox1 = .Cells(I, 1).Value
ou
Me("ComboBox" & 1) = Cells(1, 1).Value

pour la lecture
MsgBox Me.ComboBox1.List(0)

Ps : Bonsoir Dranred, cela me fait plaisir de vous croiser sur le forum

Laurent
 
Dernière édition:
Bonsoir,
Dranred est très fort est le code fonctionne bien comme il vous expliqué :
aussi.
si If .Cells(I, 1) <> "" la cellule de la colonne 1 et de toutes les lignes sont différente de vide pour (la feuille C3)
Je pense qu'il faut plutot remplir la combobox avec la colonne 2 et pas la colonne 1
Me.ComboBox1.AddItem (.Cells(I, 2).Value) et pas (.Cells(I, 1).Value)

J'ai vérifié et trouver cette incohérence et je confirme que le code a Dranred est mieux écrit que le miens
cdt
laurent
 
C'est normal,

l'initialisation fonctionne maintenant
(.Cells(I, 1).Value = C'est un code
puis
le reste est a adapter l'idée est là.

VB:
With Sheets("C2") 'Recherche dans("C2")
Me.ComboBox1.Clear 'Vider la ComboBox1
For I = 3 To .Range("A65000").End(xlUp).Row  'Boucle de recherche en montant(xlUp) dans colonne A jusqu'a cellule vide
If .Cells(I, 1) <> "" Then Me.ComboBox1.AddItem (.Cells(I, 1).Value) 'la recherche devient la liste déroulante de la ComboBox1
Next I
End With

For I = 0 To Me.ComboBox1.ListCount - 1
'MsgBox Me.ComboBox1.List(I)
If CInt(Me.ComboBox1.List(I)) = Sheets("Tableau de bord").[A2] Then
    Me.ComboBox1.ListIndex = I
    Nom_eleves = Sheets("Tableau de bord").[A1]
End If
Next I

'ComboBox1.Value = Sheets("Tableau de bord").[A2] 'Affiche la valeur de la cellule A1 de la feuille "Tableau de bord" comme nom préselectionné dans la liste
'Nom_eleves = Sheets("Tableau de bord").[A1]
    End Sub

cdt
 
Bonsoir CHARRIER
Bonsoir le Fil ,le Forum
Pas encore compris Lol
Mais j'ai mis ceux ci dans les deux procédures de Valider_C2 et Valider_C3
VB:
With Sheets("C3") 'Recherche dans("C3") ou Sheets("C2")'Recherche dans("C2")
   Me.ComboBox1.Clear 'Vider la ComboBox1
For I = 3 To .Range("A65000").End(xlUp).Row  'Boucle de recherche en montant(xlUp) dans colonne A jusqu'a cellule vide
If .Cells(I, 1) <> "" Then
   Me.ComboBox1.AddItem .Cells(I, 1).Value 'la recherche devient la liste déroulante de la ComboBox1
   Me.ComboBox1.List(Me.ComboBox1.ListCount - 1, 1) = .Cells(I, 2).Value ' On récupére le Nom de l’élève
End If
Next I
End With
et dan la procédure change du Combobox
VB:
Private Sub ComboBox1_Change()
With Me.ComboBox1
Str_Nom = .List(.ListIndex, 1) 'on récupére le Nom de l’élève en colonne 1 du ComboBox en fonction du Choix ([I]ListIndex[/I])
End With
Nom_eleves.Caption = Str_Nom 'On colle le nom de l’élève
End Sub
Question :
Pourquoi ces deux Userform identiques sauf les
C2 Traiter et Décider
et
C3 Fabriquer
etc etc
Pourquoi pas un seul userform avec une liste des Feuilles (Combobox)
ex Liste C1,C2,C3 etc etc
et affichage dans le Label Label10 de S’informer analyser ,Traiter et Décider ,Fabriquer etc etc selon chois dans liste C1,C2,C3
enfin
jean marie
 
Merci laurent950 c'est bon pour l'initialisation . merci
bonsoir ChTi160
Question
Pourquoi ces deux Userform identiques ?
Réponse
-pour pouvoir traiter les informations séparément par l'utilisateur.

Si Valider_C3 pouvais tourner normalement ça serai bien et puis je pense pouvoir adapter pour le autres.
Avec le fichier joint en premier sur le bouton de recherche ça bug !!

Merci de votre temps
 
- 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
3
Affichages
162
Réponses
1
Affichages
138
Réponses
25
Affichages
981
Retour