VBA excel récupération de donnée de userform.

Fermé
japlo Messages postés 39 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 15 février 2011 - 10 févr. 2011 à 16:47
japlo Messages postés 39 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 15 février 2011 - 12 févr. 2011 à 15:45
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



A voir également:

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
0
japlo Messages postés 39 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 15 février 2011 2
11 févr. 2011 à 12:10
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
0
Bonjour,

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
0
japlo Messages postés 39 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 15 février 2011 2
12 févr. 2011 à 12:27
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 12/02/2011 à 14:56
Bonjour,
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.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
12 févr. 2011 à 14:58
A titre didactique, autre facon de faire
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+
0
japlo Messages postés 39 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 15 février 2011 2
Modifié par japlo le 12/02/2011 à 16:15
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é.
0