Procedure trop grande

Bonjour à tous,

Je suis confronté à cette erreur.

C'est vrai dans cette procèdure j'ai près de 400 ligne composée comme ceci:

Private Sub UserForm_Initialize()
Me.Top = 350
Me.Left = 420
Sheets("Calendrier").Select
Tan = Format(Date, "yyyY ")
'Janvier
T1 = Range("B3")
T1.BackColor = Range("B3").Interior.Color
T1.ForeColor = Range("B3").Font.Color
T2 = Range("B4")
T2.BackColor = Range("B4").Interior.Color
T2.ForeColor = Range("B4").Font.Color
T3 = Range("B5")
T3.BackColor = Range("B5").Interior.Color
T3.ForeColor = Range("B5").Font.Color
T4 = Range("B6")

Quelqu'un aurait la solution pour m'éviter cette erreur?

Merci d'avance

Amicalement

Noel

Bonjour,

L'utilisation d'une boucle semble pouvoir faire l'affaire, si T1,T2,... sont des textbox (?) sur Userform, numérotées jusqu'à 100 (par exemple).

On pourrait avoir :

For i = 1 To 100 'adapter 100 au nombre de Tx
    Me("T" & i).Value = Range("B" & i + 2).Value
    Me("T" & i).BackColor = Range("B" & i + 2).Interior.Color
    Me("T" & i).ForeColor = Range("B" & i + 2).Font.Color
Next

A+

Bonjour,

A minima, il faut fournir le fichier avec son UserForm...

A+

Bonjour à tous,

Bonjour Galopin,

Bonjour AlgoPlus,

Merci pour ton bout de code AlgoPlus. Ca fonctionne mais que sur 1 mois.

J'ai fait pour les autres mois tous mes Tx sont grisés.

Bien sure j'ai repris ton code en l'adaptant sur les autres Tx

exp : 'Janvier For i = 1 To 31 'adapter 100 au nombre de Tx Me("T" & i).Value = Range("B" & i + 2).Value Me("T" & i).BackColor = Range("B" & i + 2).Interior.Color Me("T" & i).ForeColor = Range("B" & i + 2).Font.Color Next

pour Février j'ai fait Copier/coller

For i = 32 To 60 'adapter 100 au nombre de Tx Me("T" & i).Value = Range("D" & i + 2).Value Me("T" & i).BackColor = Range("D" & i + 2).Interior.Color Me("T" & i).ForeColor = Range("D" & i + 2).Font.Color Next

le résultat ce que tout le mois de Véfrier est grisé. Il doit me manquer quel que chose.

pour me rassurer j'ai du même changer le For I en For F pareil.

Mon cher Galopin, je veux bien te fournir mon USF laisse moi le temps de préparer.

Je profite de l'occasion, comment faire appel d"une procédure dans Initialize.

pour le moment j'ai contourné l'erreur de procédure trop grande par des "Sub Nov_()Click",

comment puise je faire appel de cette procédure à l'ouverture "Initialize"

Merci en tous les cas de votre aide

Amicalement

Noel

Amicalement

Noel

Pour la préparation c'est pas compliqué : Dans VBAProject tu fais glisser le UserForm de ton classeur vers un classeur vide...

Pour la base de données tu supprimes tout sauf la ligne d'en-têtes et le premier enregistrement que tu peux largement censurer !

A+

Re galopin,

Voici le fichier.

Merci

5classeur1.zip (137.63 Ko)

Le fichier est trop volumineux, Je l'ai compréssé.

2classeur1-copie.rar (106.80 Ko)

Ton fichier corrigé.

A+

6calcfn.zip (115.46 Ko)

Re,

Je n'ai pas eu le fichier corrigé.

Mais si... Même s'il ne reste plus grand chose dans le USerForm, tout y est : Petit mais costaud !

Il faut lancer le UserForm à partir du bouton dans le Calendrier (ou de la macro ShowUSF...)

A+

8calcfn.zip (115.46 Ko)
Rechercher des sujets similaires à "procedure trop grande"