Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 14h09   #1
Candidat au titre de Membre du Club
 
ins pub
Inscription : octobre 2010
Messages : 33
Détails du profil
Informations personnelles :
Nom : ins pub

Informations forums :
Inscription : octobre 2010
Messages : 33
Points : 12
Points : 12
Par défaut Déclaration d'argument dans un sub

Bonjour à tous,

J'aurais aimé savoir s'il était possible de déclarer dans un sub un label d'un userform en argument.

En effet, j'aimerai que suivant certaines conditions, je puisse changer, via une procédure sub, tel ou tel label de mon userform.

Mais quand je place en argument un truc du type :
fenetre.label15 as label
VBA me renvoie l'erreur incompatibilité de type.

Auriez-vous une idée ?

Merci d'avance
pubbins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 14h14   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
salut,

si tu veux passer par le nom du label, le plus simple reste de passer par le type de données String

Il s'agira alors de passer dans les Controls de ton Form
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 18h45   #3
Membre régulier
 
Inscription : août 2010
Messages : 55
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 55
Points : 76
Points : 76
Bonjour,

Le Userform s'appelle UserForm1, il contient Label1.
Un texte dans la cellule A1 de la feuille active.
Dans un module :
Code :
1
2
3
4
5
6
7
8
Sub EcrireLabel()
    ChangeLabel UserForm1.Label1
    UserForm1.Show
End Sub
 
Sub ChangeLabel(Lelabel As Object)
    Lelabel.Caption = [A1]
End Sub
Cordialement

ctac
ctac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 19h33   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonsoir,

En utilisant un type "Variant" ...peu-être :

Code :
1
2
3
4
5
6
7
8
9
10
11
Sub TraiteLabel1()
     ChangeValeur UserForm1.Label1, "111"
     UserForm1.Show
End Sub
Sub TraiteLabel2()
     ChangeValeur UserForm1.Label2, "222"
     UserForm1.Show
End Sub
Sub ChangeValeur(ByRef lbl, st As String)
     lbl.Caption = st
End Sub
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h32.


 
 
 
 
Partenaires

Hébergement Web