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

japlo Messages postés 44 Statut Membre -  
japlo Messages postés 44 Statut Membre -
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

7 réponses

  1. 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
  2. japlo Messages postés 44 Statut Membre 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
  3. 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
  4. japlo Messages postés 44 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  8. japlo Messages postés 44 Statut Membre 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