VBA excel récupération de donnée de userform.
japlo
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
japlo Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
japlo Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un projet de fichier satistique pour mon boulot qui me permettra de connaitre le nombre d'intervention et leur type jours par jours, et la commune concerné.
Donc via des userforms je récupere certain éléments comme la date, le jour, le mois, la commune, et le type d'intervention (sur la premiere feuille).
Ensuite je possede 12 feuilles conrespondant au mois de l'année, dans lesquelles se trouve un tableau je souheterai remplir se tableau lorsque je valide mon dernier userform.
( dans la premiere colonne nous trouvons les differentes communes, ensuite en haut il y a les 31 jours du mois sur une ligne et en dessous le types d'intervention au nombre de 4)
Il me faurait trouver un code permettant :
- de trouver le mois de l'année
- le jours du mois
- le types d'interventions
- la commune
Ensuite il faudrait que les interventions s'additionnne.
Je sais pas si j'ai été suffisement clair mais j'essaye de faire pour le mieux.
Bien sur je suis débutant en VBA Excel.
A bientot
j'ai un projet de fichier satistique pour mon boulot qui me permettra de connaitre le nombre d'intervention et leur type jours par jours, et la commune concerné.
Donc via des userforms je récupere certain éléments comme la date, le jour, le mois, la commune, et le type d'intervention (sur la premiere feuille).
Ensuite je possede 12 feuilles conrespondant au mois de l'année, dans lesquelles se trouve un tableau je souheterai remplir se tableau lorsque je valide mon dernier userform.
( dans la premiere colonne nous trouvons les differentes communes, ensuite en haut il y a les 31 jours du mois sur une ligne et en dessous le types d'intervention au nombre de 4)
Il me faurait trouver un code permettant :
- de trouver le mois de l'année
- le jours du mois
- le types d'interventions
- la commune
Ensuite il faudrait que les interventions s'additionnne.
Je sais pas si j'ai été suffisement clair mais j'essaye de faire pour le mieux.
Bien sur je suis débutant en VBA Excel.
A bientot
A voir également:
- VBA excel récupération de donnée de userform.
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Fiche de pointage excel - Télécharger - Tableur
- Déplacer colonne excel - Guide
- Si ou excel - Guide
7 réponses
Bonjour,
Créer un nouveau module
Déclarer des variables correspondant aux champs que vous désirez manipuler :
ex.:
Public MaVariable As String
Cette variable sera accessible dans tout le projet, Forms, Sheets, Module.
Cdt
Info
Créer un nouveau module
Déclarer des variables correspondant aux champs que vous désirez manipuler :
ex.:
Public MaVariable As String
Cette variable sera accessible dans tout le projet, Forms, Sheets, Module.
Cdt
Info
Slt,
Merci pour l'info je creuse mais je ne trouve pas vraiment il me faut donc dans un premier temps trouver comment activer l'onglet désiré.
Donc dans un module il faudrait que je mette
1 pour janvier
2 pour fevrier
etc...
Public MaVariable As String
Range("q3").Value = 1
Worksheets("Jan").Activate
Range("q3").Value = 2
Worksheets("Fev").Activate
etc etc
comment activer ce module pour qu'il s'exécute ?
Cdt
Merci pour l'info je creuse mais je ne trouve pas vraiment il me faut donc dans un premier temps trouver comment activer l'onglet désiré.
Donc dans un module il faudrait que je mette
1 pour janvier
2 pour fevrier
etc...
Public MaVariable As String
Range("q3").Value = 1
Worksheets("Jan").Activate
Range("q3").Value = 2
Worksheets("Fev").Activate
etc etc
comment activer ce module pour qu'il s'exécute ?
Cdt
Bonjour,
Ex.:
Creer un module [ Module1 ]
Copier ceci :
Creer un autre module [ Module2 ]
Copier ceci :
Creer un autre module [ Module3 ]
Copier ceci :
Lancer la macro [ MAJ_Variable ] et ensuite lancer la macro [ AfficheVariable ].
Donc vous verrez que vous pouvez adresser la variable
[ MaVariable ] de n'importe quel endroit du projet,
même à partir d'un UserForm.
Cdt
Info
Ex.:
Creer un module [ Module1 ]
Copier ceci :
Option Explicit Public MaVariable As String
Creer un autre module [ Module2 ]
Copier ceci :
Option Explicit Sub MAJ_Variable() MaVariable = "Info" End Sub
Creer un autre module [ Module3 ]
Copier ceci :
Option Explicit Sub AfficheVariable() MsgBox MaVariable End Sub
Lancer la macro [ MAJ_Variable ] et ensuite lancer la macro [ AfficheVariable ].
Donc vous verrez que vous pouvez adresser la variable
[ MaVariable ] de n'importe quel endroit du projet,
même à partir d'un UserForm.
Cdt
Info
J'ai enfin saisie je pense
Private Sub CommandButton1_Click()
fin = 0
If Me.CheckBox1 = False And Me.CheckBox2 = False And Me.CheckBox3 = False And Me.CheckBox4 = False And Me.CheckBox5 = False And Me.CheckBox6 = False And Me.CheckBox7 = False And Me.CheckBox8 = False And Me.CheckBox8 = False And Me.CheckBox9 = False And Me.CheckBox10 = False And Me.CheckBox11 = False Then
MsgBox "Vous devez sélectionner au moins un véhicule avant de valider...", vbInformation, "Merci de suivre les instructions..."
fin = 1
Cancel = True
Exit Sub
End If
Unload Me
MAJ_Variable
AfficheVariable
End Sub
Maintenant j'essaye donc douvrir l'onglet désiré par rapport au résultat obtenue dans une cellule
Sub MAJ_Variable()
If Sheets("Intervention").[q3].Value = 1 Then
Sheets("Jan").Select
If Sheets("Intervention").[q3].Value = 2 Then
Sheets("Fev").Select
End If
End If
End Sub
Private Sub CommandButton1_Click()
fin = 0
If Me.CheckBox1 = False And Me.CheckBox2 = False And Me.CheckBox3 = False And Me.CheckBox4 = False And Me.CheckBox5 = False And Me.CheckBox6 = False And Me.CheckBox7 = False And Me.CheckBox8 = False And Me.CheckBox8 = False And Me.CheckBox9 = False And Me.CheckBox10 = False And Me.CheckBox11 = False Then
MsgBox "Vous devez sélectionner au moins un véhicule avant de valider...", vbInformation, "Merci de suivre les instructions..."
fin = 1
Cancel = True
Exit Sub
End If
Unload Me
MAJ_Variable
AfficheVariable
End Sub
Maintenant j'essaye donc douvrir l'onglet désiré par rapport au résultat obtenue dans une cellule
Sub MAJ_Variable()
If Sheets("Intervention").[q3].Value = 1 Then
Sheets("Jan").Select
If Sheets("Intervention").[q3].Value = 2 Then
Sheets("Fev").Select
End If
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Petite mise au point :D
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
Petite mise au point :D
Private Sub CommandButton1_Click() Dim Mois Mois = Array(" ", "Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc") 'fin = 0 'Sert à rien If Not (CheckBox1 And CheckBox2 And CheckBox3 And CheckBox4 And CheckBox5 And CheckBox6 _ And CheckBox7 And CheckBox8 And CheckBox9 And CheckBox10 And CheckBox11) Then MsgBox "Vous devez sélectionner au moins un véhicule avant de valider...", vbInformation, "Merci de suivre les instructions..." 'fin = 1 'sert à rien 'Cancel = True'sert à rien Unload Me Else 'MAJ_Variable 'Pas besoin d'aller ailleur Sheets(Mois(Sheets("Intervention").[q3].Value)).Select 'AfficheVariable 'Là faut voir ce que tu veux afficher End If End Sub
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
A titre didactique, autre facon de faire
A+
Private Sub CommOrButton1_Click() Dim Mois Mois = Array(" ", "Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc") 'fin = 0 'Sert à rien If CheckBox1 Or CheckBox2 Or CheckBox3 Or CheckBox4 Or CheckBox5 Or CheckBox6 _ Or CheckBox7 Or CheckBox8 Or CheckBox8 Or CheckBox9 Or CheckBox10 Or CheckBox11 Then 'MAJ_Variable 'Pas besoin d'aller ailleur Sheets(Mois(Sheets("Intervention").[q3].Value)).Select 'AfficheVariable 'Là faut voir ce que tu veux afficher Else MsgBox "Vous devez sélectionner au moins un véhicule avant de valider...", vbInformation, "Merci de suivre les instructions..." 'fin = 1 'sert à rien 'Cancel = True'sert à rien Unload Me End If End Sub
A+
Merci pour ton intervention j'avais deja remarqué que la fonction Array était ce qu'il me fallait mais je n'arrivais pas a la mettre en application.
'fermeture de userform4
Private Sub CommandButton1_Click()
Dim Mois
Mois = Array(" ", "Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Jui", "Aou", "Sep", "Oct", "Nov", "Déc")
If CheckBox1 Or CheckBox2 Or CheckBox3 Or CheckBox4 Or CheckBox5 Or CheckBox6 _
Or CheckBox7 Or CheckBox8 Or CheckBox8 Or CheckBox9 Or CheckBox10 Or CheckBox11 Then
Sheets(Mois(Sheets("Interventions").[q3].Value)).Select
Else
MsgBox "Vous devez sélectionner au moins un véhicule avant de valider...", vbInformation, "Merci de suivre les instructions..."
Exit sub
End If
Unload Me
End Sub
Pour ce qui est de la variable je pensais passer par la mais en fait cela ne m'était pas utile.
Ce qui me reste à faire me parrait plus compliqué.
'fermeture de userform4
Private Sub CommandButton1_Click()
Dim Mois
Mois = Array(" ", "Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Jui", "Aou", "Sep", "Oct", "Nov", "Déc")
If CheckBox1 Or CheckBox2 Or CheckBox3 Or CheckBox4 Or CheckBox5 Or CheckBox6 _
Or CheckBox7 Or CheckBox8 Or CheckBox8 Or CheckBox9 Or CheckBox10 Or CheckBox11 Then
Sheets(Mois(Sheets("Interventions").[q3].Value)).Select
Else
MsgBox "Vous devez sélectionner au moins un véhicule avant de valider...", vbInformation, "Merci de suivre les instructions..."
Exit sub
End If
Unload Me
End Sub
Pour ce qui est de la variable je pensais passer par la mais en fait cela ne m'était pas utile.
Ce qui me reste à faire me parrait plus compliqué.