Procédure trop grande

MarJolaine

XLDnaute Nouveau
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-

:confused:
 

CHARRIER

XLDnaute Nouveau
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 ?
 

CHARRIER

XLDnaute Nouveau
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
 

laurent950

XLDnaute Accro
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:

laurent950

XLDnaute Accro
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
 

laurent950

XLDnaute Accro
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
 

ChTi160

XLDnaute Barbatruc
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
 

CHARRIER

XLDnaute Nouveau
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
 

Statistiques des forums

Discussions
312 779
Messages
2 092 044
Membres
105 162
dernier inscrit
djikon