Une procédure pour plusieurs Msflexgrid pour plusieurs Forms [Résolu]

- - Dernière réponse :  PhilippeF - 31 août 2019 à 17:08
Bonjour,
dans le projet que je développe, j'ai plusieurs Forms qui contiennent chacune 2 ou 3 msflexgrid avec un nom différent. Lorsque je charge un Form je mets de la couleur 1 ligne sur 2.
Pour le moment je recopie la procédure sur chaque Form en modifiant le nom du msflexgrid.
Je voudrai utiliser UNE seule procédure pour tous les Msflexgrid pour les différents Forms.

Sub Les_Couleurs()
Set Fg = GrilleTiers
For r = 1 To Fg.Rows - 1 Step 2
Fg.Row = r
For c = 0 To Fg.Cols - 1
Fg.Col = c
Fg.CellBackColor = RGB(224, 255, 255)
Next c
Next r
End Sub

Set Fg = lenomduMsflexgrid qui varie selon le Form. de 2 à 3 par Form

j'espère être clair !!
Merci d'avance

Configuration: Windows / Chrome 76.0.3809.132
Afficher la suite 

1 réponse

Messages postés
14555
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2019
175
0
Merci
Pourquoi ne pas passer le contrôle dans un paramètre ?
Bonjour NHenry,

j'ai essayé de passer le nom du Msflexgrid mais ça ne marche pas.
j'ai essayé ça
dans une procédure qui appelle Les_Couleurs(nomduMsflexgrid)

puis dans la procédure des couleurs

Sub Les_Couleurs(nomduMsflexgrid)
Set fg = nomduMsflexgrid
For r = 1 To Fg.Rows - 1 Step 2
Fg.Row = r
For c = 0 To Fg.Cols - 1
Fg.Col = c
Fg.CellBackColor = RGB(224, 255, 255)
Next c
Next r
End Sub
J'ai trouvé !!

Dans la procédure qui appelle les_couleurs :

nomGrille = Fg.Name
Les_Couleurs (nomGrille)

la procédure des couleurs :

Sub Les_Couleurs(nomGrille As String)
For r = 1 To Fg.Rows - 1 Step 2
Fg.Row = r
For c = 0 To Fg.Cols - 1
Fg.Col = c
Fg.CellBackColor = RGB(224, 255, 255)
Next c
Next r
End Sub


Merci NHenry
Commenter la réponse de NHenry