IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

mettre en place un code VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut mettre en place un code VBA
    Bonjour,

    Je souhaite, avec votre aide, mettre en place un code VBA Excel afin de réaliser le projet ci-joint.
    Le code n'existe pas, je ne sais pas comment le réaliser c'est pourquoi je fais appel à vos connaissances en la matière.

    Vous trouverez toutes les explications dans le fichier Excel joint, car cela serait trop long à taper
    Merci par avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Explique-nous le problème que tu rencontres, nous pourront peut-être te conseiller. Tu ne voudrais tout de même pas que nous en fassions l'analyse pour toi
    Bonne journée

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    je sens une odeur de sous-traitance d'exercice scolaire, non ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Explique-nous le problème que tu rencontres, nous pourront peut-être te conseiller. Tu ne voudrais tout de même pas que nous en fassions l'analyse pour toi
    Bonne journée
    Bonjour,

    En fait, au sein de mon service je dois réaliser une application, dans le fichier joint j'ai donné le modèle du formulaire que j'ai créé et que je dois utiliser.
    Mais je ne sais pas faire faire les codes pour faire entrer les données dans les bonnes cases.
    Suis-je clair ?
    Merci par avance

    Citation Envoyé par Godzestla Voir le message
    Bonjour,

    je sens une odeur de sous-traitance d'exercice scolaire, non ?
    Bonjour,

    Pas du tout, j'ai 47ans, alors l'école est bien loin derrière moi.
    Je dois simplement réaliser une application et je me casse la tête depuis plusieurs jours à trouver les codes qui me permettent de remplir les cases dans le formulaire que j'ai créé, dans le ficheir Excel joint, j'ai reproduit le modèle du formulaire.
    A+

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Qu'appelles-tu "Formulaire" et "Cases" ? Userform et TextBox ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Qu'appelles-tu "Formulaire" et "Cases" ? Userform et TextBox ?
    Formulaire et ListBox.
    Le modèle dans le fichier Excel s'appelle en fait FrmSit en Vba.
    Chaque ListBox figurent dans le modèle par les noms Lb1, Lb2, etc.
    Lst1 est également une ListBox
    Merci

  7. #7
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Citation Envoyé par NEC14 Voir le message

    Pas du tout, j'ai 47ans, alors l'école est bien loin derrière moi.
    Désolé pour la méprise. Je laisse ousk prendre soin de toi .

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Bonjour,

    ton problème m'intéresse. Seulement je ne suis pas sûr de comprendre ce que tu veux faire exactement...
    -Combien de feuilles possède ton classeur ??
    -Pourquoi parles tu de ListBox dans chaque cellule de ton tableau d'exemple ?
    En fait j'avoue ne rien comprendre à ton fichier joint...

  9. #9
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par peaceandloveman01 Voir le message
    Bonjour,

    ton problème m'intéresse. Seulement je ne suis pas sûr de comprendre ce que tu veux faire exactement...
    -Combien de feuilles possède ton classeur ??
    -Pourquoi parles tu de ListBox dans chaque cellule de ton tableau d'exemple ?
    En fait j'avoue ne rien comprendre à ton fichier joint...
    Bonjour,

    J'ai 12 feuilles, une par mois, chaque feuille porte le nom du mois. Plus une autre feuille appelée "Tableaux".
    Je parle de ListBox dans chaque cellule, car j'ai créé une UserForm avec plusieurs ListBox (Lst1, Lb1, Lb2, etc..). Par exemple dans la ListBox Lst1 doit figurer le nom de la feuille active, du style :"Statistiques du mois de : nom de la feuille".
    Merci pour ton aide

  10. #10
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Désolé pour la méprise. Je laisse ousk prendre soin de toi .
    Pas de problème

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Merci pour ces précisions. Si j'ai bien compris, ton UserForm est suppposé représenté le tableau de fichier exemple.xls ? Est-ce bien le cas ou je me trompe complètement ??

  12. #12
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Tout à fait

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    A ce moment là, c'est pas super compliqué. Quel est ton niveau en VBA ? Sais tu coder ??
    (Je te demande ça car ça orientera mes réponses futures...)

    De plus, pourrais tu m'indiquer comment sont mises en formes les feuilles concernant les 12 mois de l'année ? Histoire de savoir comment mener la recherche.

  14. #14
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Je suis débutant

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    En ce qui concerne ton Lst1, tu peux récupérer les mois de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim NbFeuilles As Byte
    NbFeuilles = Application.Worksheets.Count
    For i = 1 To NbFeuilles
        ListBox1.AddItem Sheets(i).Name
    Next
    Il suffit de mettre ce code dans la procédure d'initialisation de ta UserForm.

    Mais pour le reste j'ai besoin de savoir comment se présentent les données sur les différentes feuilles...

  16. #16
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Dans les feuilles (Janvier, Février, etc...)
    Colonne A : N° de saisie
    Colonne B : Validation (je tape un "X" pour valider l'opération après contrôle du relevé bancaire)
    Colonne C : Date de saisie
    Colonne D : Date de l'opération
    Colonne E : Nom de la banque
    Colonne F : L'objet de la transaction
    Colonne G : Détail de la transaction
    Colonne H : Mode (chèque, prélèvement, liquide, etc... c'est les données qui doivent remplir les ListBox (Lb1, Lb2, etc...)
    Colonne I : Débits (somme si transaction est débitrice)
    Colonne J : Crédits (somme si transaction est créditrice)
    Toutes les données sont saisies dans une UserForm

    Feuille "Tableaux"
    Ligne 4 - Colonne B à M - Liste des mois en commençant par Septembre (je travaille en année scolaire)
    Colonne A - Ligne 9, 10 et 11 (Débits Max, Min, Moy)
    Colonne A - Ligne 12, 13 et 14 (Créfdits Max, Min, Moy)
    Voilà est-ce que cela te suffit ?
    J'apprécie ton aide

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Parfait !! Tout me parait plus clair désormais. Y'a plus qu'à comme on dit !

    Une dernière question, tu dis que les données sont saisies dans un userform. Utilises tu des textbox pour cela? As tu réussi à programmer la partie enregistrement des données ?

    PS: Quel "code" utilises tu pour définir le mode (colonne H) ??

  18. #18
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Private Sub CommandButton4_Click()
    Dim Vmess As String
    Dim Verr As Integer
    Dim Vnum As Long
    Vmess = ""
    Verr = 0
        If FrmOp.CheckBox1.Value = False And FrmOp.CheckBox2.Value = False Then
            Verr = 1
                Vmess = Vmess + Chr(10) + "Débit ou crédit?"
        End If
     
        If FrmOp.TextBox2 = "" Then
            Verr = 1
                Vmess = Vmess + Chr(10) + "La date de l'opération"
        End If
     
        If FrmOp.CheckBox2.Value = True Then
            If FrmOp.CheckBox6.Value = False And FrmOp.CheckBox7.Value = False And FrmOp.CheckBox8.Value = False And FrmOp.CheckBox10.Value = False Then
            Verr = 1
                Vmess = Vmess + Chr(10) + "Quel est le mode de versement?"
        End If
     
        If FrmOp.ComboBox1.Value = "" Then
            Verr = 1
                Vmess = Vmess + Chr(10) + "Quelle est la banque?"
        End If
     
        If FrmOp.ComboBox2.Value = "" Then
            Verr = 1
                Vmess = Vmess + Chr(10) + "Quel est l'objet?"
        End If
     
        If FrmOp.ComboBox3.Value = "" Then
            Verr = 1
                Vmess = Vmess + Chr(10) + "Ajouter le détail"
        End If
            End If
     
        If Verr = 1 Then
            MsgBox "Vous avez oublié" + Vmess, , "Attention"
            Exit Sub
        End If
    ActiveSheet.Activate
    If Range("a13") = "" Then
        Range("a13").Select
        Vnum = 1
    Else
        Range("a12").End(xlDown).Select
        Vnum = Selection.Value + 1
        ActiveCell.Offset(1, 0).Range("a1").Select
    End If
     
    ActiveCell.Value = Vnum
    ActiveCell.Offset(0, 2).Value = CDate(FrmOp.TextBox1)
    ActiveCell.Offset(0, 3).Value = CDate(FrmOp.TextBox2)
    ActiveCell.Offset(0, 4).Value = FrmOp.ComboBox1.Value
    ActiveCell.Offset(0, 5).Value = FrmOp.ComboBox2.Value
    ActiveCell.Offset(0, 6).Value = FrmOp.ComboBox3.Value
    If FrmOp.CheckBox6.Value = True Then
    ActiveCell.Offset(0, 7).Value = "Virement automatique"
    End If
    If FrmOp.CheckBox7.Value = True Then
    ActiveCell.Offset(0, 7).Value = "En liquide"
    End If
    If FrmOp.CheckBox8.Value = True Then
    ActiveCell.Offset(0, 7).Value = "Par chèque bancaire"
    End If
    If FrmOp.CheckBox10.Value = True Then
    ActiveCell.Offset(0, 7).Value = "Dépôt au guichet"
    End If
    If FrmOp.CheckBox2.Value = True Then
    ActiveCell.Offset(0, 9).Value = CDbl(FrmOp.TextBox4)
    End If
    CheckBox1.Value = False
    CheckBox2.Value = False
    CheckBox3.Value = False
    CheckBox4.Value = False
    CheckBox5.Value = False
    CheckBox6.Value = False
    CheckBox7.Value = False
    CheckBox8.Value = False
    CheckBox9.Value = False
    CheckBox10.Value = False
    CheckBox1.Visible = True
    CheckBox2.Visible = True
    CommandButton2.Visible = True
    CommandButton4.Visible = True
    Frame4.Visible = True
    Frame6.Visible = True
    TextBox2.Text = ""
    TextBox4.Value = ""
    ComboBox1.Value = ""
    ComboBox2.Value = ""
    ComboBox3.Value = ""
    End Sub

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Bonjour,

    Si tu remplace les ListBox par des TextBox (ce qui est plus cohérent à mon sens), voici le bout de code qui peux t'aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    'Dans le cas du montant total des virements en débits
    Dim listeVirementDeb() As Single
    Dim totalVirementDeb As Single
    ReDim listeVirementDeb(0)
    For i = 13 To 199
    'Si on s'intéresse juste au mois de janvier, tous les débits faits par virement automatique
        If Sheets("Janvier").Cells(i, "H") = "Virement automatique" Then
            If Sheets("Janvier").Cells(i, "I") <> "" Then
                listeVirementDeb(UBound(listeVirementDeb, 1)) = Sheets("Janvier").Cells(i, "I")
                ReDim Preserve listeVirementDeb(UBound(listeVirementDeb, 1) + 1)
            End If
        End If
    Next
    For i = 0 To UBound(listeVirementDeb, 1) - 1
        totalVirementDeb = totalVirementDeb + listeVirementDeb(i)
    Next i
    TextBox1.Value = totalVirementDeb 'affiche la somme des montants
    J'espère que ça te donnera des idées pour avancer ...

    Cordialement,

    Lyonel

  20. #20
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Merci beaucoup, je teste et je te dis comment cela c'est déroulé, mais pas avant Mercredi, je fais le pont.
    Bon week-end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Code vba :Mettre sous forme de tableau style de tableau clair 1
    Par aiglevb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2013, 12h57
  2. [XL-2007] Code VBA à la place d'une formule
    Par maxval18 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/12/2012, 17h09
  3. Protéger le code VBA et mettre en lecture seule
    Par FanTasTik dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2012, 09h19
  4. [AC-2007] Est-il possible de mettre à jour du code VBA sans rentrer dedans ?
    Par tibofo dans le forum VBA Access
    Réponses: 5
    Dernier message: 26/10/2010, 18h50
  5. Réponses: 14
    Dernier message: 17/04/2007, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo