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 13/09/2011, 08h17   #1
Futur Membre du Club
 
Homme
Gestion économique
Inscription : mars 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Gestion économique
Secteur : Transports

Informations forums :
Inscription : mars 2011
Messages : 37
Points : 16
Points : 16
Par défaut Création de bouton et passage d'argument

Bonjour,

Je souhaite créer des boutons sur ma pages de calculs et envoyer 2 arguments qui diffèrent selon le bouton appuyé.

Actuellement mes boutons sont des CommandButton.
deuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 08h35   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Bonjour,

Citation:
Je souhaite créer des boutons sur ma pages de calculs et envoyer 2 arguments qui diffèrent selon le bouton appuyé.
Qu'entends tu par arguments ?
Envoyer ou ? Vers une fonction, une autre feuille ?

Peux tu développer ton besoin
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 12h09   #3
Futur Membre du Club
 
Homme
Gestion économique
Inscription : mars 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Gestion économique
Secteur : Transports

Informations forums :
Inscription : mars 2011
Messages : 37
Points : 16
Points : 16
En gros je voudrai recevoir directement dans Hist2_Click le nom et le mois (surtout le mois car c'est lui qui varie)

Dans l'état actuel il faut que je développe autant de fonction qui appelle la fonction histo que j'ai de mois.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Hist2_Click()
 
Dim Nom As String
Dim Mois As Integer
 
Sheets("Donnée").Select
Nom = Cells(2, 2)
Mois = Cells(9, 6)
 
Call histo(Nom, Mois)
End Sub
 
Private Sub histo(n, m)
...
End Sub
deuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 12h58   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Peut être comme cela
L'utilisateur tape le mois désiré, et on va chercher dans la bonne plage suivant le mois choisi

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Hist2_Click()
 
Dim Nom As String
Dim Mois As Integer
Dim InpMois as integer
 
inpMois = cint(Inputbox ("Taper un mois"))
 
select Case inpMois
   Case 1
          Nom = Sheets("Donnée").Cells(2, 2).Value
          Mois = Sheets("Donnée").Cells(9, 6).Value
   Case 2
       ...
   Case 3
       ...
end select
 
Call histo(Nom, Mois)
 
End Sub
 
Private Sub histo(n as String, m as Integer)
...
End Sub
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 13h21   #5
Futur Membre du Club
 
Homme
Gestion économique
Inscription : mars 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Gestion économique
Secteur : Transports

Informations forums :
Inscription : mars 2011
Messages : 37
Points : 16
Points : 16
Merci pour ta réponse, elle m'apporte des éléments nouveaux intérréssant.
Pour autant ce n'est pas ce que je recherche.

J'ai en fait 12 cellules dans lesquels j'ai des montants mensuel.
Lorsqu'on clique dans une cellule on appuie en fait sur un bouton qui déclenche une fonction. Cette fonction je voudrais que cela soit la même mais en modifiant juste les arguments.
deuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 14h34   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
ou bloques tu?

Dans le code de ta fonction? ou dans son appel dans le bouton?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 10h31   #7
Futur Membre du Club
 
Homme
Gestion économique
Inscription : mars 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Gestion économique
Secteur : Transports

Informations forums :
Inscription : mars 2011
Messages : 37
Points : 16
Points : 16
c'est bien l'appel du bouton qui me bloque, le passage des arguments
deuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 14h10   #8
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Citation:
Envoyé par deuche Voir le message
Lorsqu'on clique dans une cellule on appuie en fait sur un bouton qui déclenche une fonction.
Tu as mis des boutons sur tes cellules ?

As-tu regardé du côté de l'évènementiel SelectionChange des feuilles, target and C° est fait nativement pour ça

http://silkyroad.developpez.com/VBA/...Feuille/#LII-I

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 14h15   #9
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Citation:
c'est bien l'appel du bouton qui me bloque, le passage des arguments
Peux tu développer
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 13h30   #10
Futur Membre du Club
 
Homme
Gestion économique
Inscription : mars 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Gestion économique
Secteur : Transports

Informations forums :
Inscription : mars 2011
Messages : 37
Points : 16
Points : 16
Citation:
Envoyé par Ormonth Voir le message
Tu as mis des boutons sur tes cellules ?
Oui, des boutons invisible qui permettent de voir le résultat de la cellules.
Lorsqu'on clique sur le bouton on accède au détail de ce résultat. C'est la raison pour laquelle je ne veux pas developper autant de fonction que j'ai de bouton. (pour le moment je ne peux pas voir ton lien pour cause d'accè restreint)
deuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 13h39   #11
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Citation:
Code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cet évènement survient lors de la sélection d'une cellule dans la feuille.

Le paramètre Target correspond à la cellule sélectionnée.
Citation:
La macro suivante vérifie que vous avez sélectionné une seule cellule puis indique si la sélection est contenue dans la plage B5:E20.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Plage As Range
 
    If Target.Cells.Count > 1 Then
        MsgBox "Sélectionnez une seule cellule."
        Exit Sub
    End If
 
 
    Set Plage = Range("B5:E20")
 
    If Application.Intersect(Target, Plage) Is Nothing Then
        MsgBox "Hors cible."
    Else
        MsgBox "Dans la cible."
    End If
End Sub
Donc à partir de l'évènement et d'un filtre sur Target pour identifier si cellules voulues...
PS : le code est placé dans le module de la feuille concernée.


cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 15h33   #12
Futur Membre du Club
 
Homme
Gestion économique
Inscription : mars 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Gestion économique
Secteur : Transports

Informations forums :
Inscription : mars 2011
Messages : 37
Points : 16
Points : 16


Merci
deuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h10.


 
 
 
 
Partenaires

Hébergement Web