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   -
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

Info
 
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   Statut Membre Dernière intervention   2
 
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
Info
 
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   Statut Membre Dernière intervention   2
 
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 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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   Statut Membre Dernière intervention   2
 
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