Paramètres pour un USF

FJPT

XLDnaute Junior
Bonjour à toutes et à tous

Afin qu'un même USF puisse travaille su plusieurs plages de cellules, est'il possible de lui passer en paramètre la lettre de colonne lors de l'appel par USF.Show?

Y travaillant depuis un moment cela ne semble pas possible. Comment alors contourner la chose?

Merci par avance de vos idées et bon week-end à toutes et à tous.

FJPT
 

PIEDEPLOMB33

XLDnaute Junior
Re : Paramètres pour un USF

Bonjour FJPT et le forum

Je ne comprends pas bien ta question. Pour moi ce n'est pas un USF qui peut faire ce que tu veux mais un contrôle.

Je te joints un exemple. Si ce n'est pas cela que tu veux joint un fichier S.T.P

@+
 

Pièces jointes

  • Essai.xls
    22.5 KB · Affichages: 58
  • Essai.xls
    22.5 KB · Affichages: 59
  • Essai.xls
    22.5 KB · Affichages: 60

alex67800

XLDnaute Impliqué
Re : Paramètres pour un USF

Bonjour FJPT, Piedeplomb33, JNP, le forum,

Il existe différentes manières de coder un usf:

Range("A1:H8") 'pour un plage
Activecell 'pour la cellule active
Range ("B1:B" & Range ("B65536").End(xlUp).row) 'pour la première ligne non vide dans la plage
Voir (pas testé) un inputbox pour préciser la colonne
etc.....

Tu peux aussi appeler ton usf via double click dans la cellule de ton choix puis justement utiliser activecell, puis activecell.Offset(0,1) pour les cellules périfériques.

Bref bcp de solution différentes.

Je rejoint Piedeplomb33 pour un petit bout de fichier avec des explications de ce que tu veux faire. Car là nous avons du mal à saisir la question.

A te lire!

Bon week-end
 

FJPT

XLDnaute Junior
Re : Paramètres pour un USF

Bonjour à toutes et à tous et notamment aux gens sympas qui m'ont répondu (les autres le sont aussi).

Merci à PIEDEPLOMB33 pour son petit exemple. Je l'avais déja trouvé ici en faisant des recherches et j'essayais de l'adapter.

Je vais donc essayer d'être plus clair : Sur une feuille j'ai trois tableaux identiques qui gérent la position des hommes sur 3 sites différents.
Tout le code est écrit pour un tableau et je travaille en adresse relative par Offset, par rapport au coin supérieur gauche du tableau.

Je voudrais donc me servir du même USF pour faire le travail sur les 3 tableaux
en chargeant successivement:

Private Sub CommandButton2_Click()
UserForm1.Show "tu travailles à partir de la cellule A5"
End Sub
Private Sub CommandButton3_Click()
UserForm1.Show "tu travailles à partir de la cellule J5"
End Sub
Private Sub CommandButton4_Click()
UserForm1.Show "tu travailles à partir de la cellule S5"
End Sub

C'est ce passage de paramètre qui a l'air impossible.

Merci à toutes et à tous pour votre présence constante et bon week-end.

FJPT
 
G

Guest

Guest
Re : Paramètres pour un USF

Bonjour FJPT,

Au moins deux solutions possibles:

1 - déclarer une variable publique dans un module:
Code:
 Public LaCellule As Range
Puis
Code:
Private Sub CommandButton2_Click()
   Set LaCellule =Sheets("Lenomdelafeuille).Range("A5")
   UserForm1.Show 
End Sub
Private Sub CommandButton3_Click()
   Set LaCellule =Sheets("Lenomdelafeuille).Range("J5")
   UserForm1.Show 
End Sub
Private Sub CommandButton4_Click()
   Set LaCellule =Sheets("Lenomdelafeuille).Range("S5")
   UserForm1.Show 
End Sub

2 - Déclarer une variable Publique dans le userform en tête de module
Code:
Set LaCellule As Range
Puis:
Code:
Private Sub CommandButton2_Click()
   Set UserForm1.LaCellule =Sheets("Lenomdelafeuille).Range("A5")
   UserForm1.Show
End Sub
'Etc...

Dans le userform tu pourras faire référence à la variable
exemple
Code:
LaCellule.value="Valeur"
LaCellule.Offset(1,2).Value="Ce que tu veux"
A+
 

alex67800

XLDnaute Impliqué
Re : Paramètres pour un USF

Re le forum, Hasco,

Je n'ai peut-être rien compris,

Une méthode bien moins évoluer que notre ami Hasco (que je respect ;)), scolaire dirons nous lol.

Je proposerai de partir d'une cellule active par feuille, du genre

Private Sub CommandButton2_Click()
Range ("A5").select
UserForm1.Show
End Sub

Puis dans l'initalize de l'usf j'appel les valeurs avec les offset de la cellule active

Puis Range ("J5").select dans button3, etc.....

Range("S5").select,......

A supposer que chaque bouton soit placer dans sa feuille respective, sinon préciser worksheet("blabla") avant lol (Tiens on en revient quasiment à la proposition de Hasco??!!??)
Je vais peut-être oublier ma proposition arfff.
 

FJPT

XLDnaute Junior
Re : Paramètres pour un USF

Merci à vous tous de l'aide que vous m'avez apporté.

Aprés avoir travaillé avec les suggestions de Hasco, je suis arrivé à une solution semblable à celle que me donne Fo rum dans sa pièce jointe et ça marche impeccable.

Merci de tout coeur à tous pour votre contribution et bon dimanche.

FJPT
 

Discussions similaires

Réponses
2
Affichages
591

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16