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 :

Macro vba sous excel, un rien compliqué


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2011
    Messages : 124
    Points : 38
    Points
    38
    Par défaut Macro vba sous excel, un rien compliqué
    Bonjour à toutes et à tous,
    je dois dans le cadre de mon stage réaliser un code, qui a partir de données sous excel, les retraite sous un nouvel onglet, à titre d'exemple on m'avait donné un code, qui pour chaque matricule (ici il y en a 10) ouvre un onglet avec ses entrées et sorties, et eux voudrait avoir tout cela regroupé, mais sous une forme différente, que je vais vous montrer dans le fichier ci-joint.

    J'ai ce code là au départ ( Merci a Gourmand pour son aide par ailleurs)

    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
     
    Sub matricule()
    Dim NomEmployer(10) As String
    Dim NumereauMatricule(10) As String
    Dim K As String
    Dim enplacementEmployer(10) 'je ne savais pas comment appeler la variable
     
    NomEmployer(1) = "toto" ' nom employer et matricule qui corespond
    NumereauMatricule(1) = 4127
    NomEmployer(2) = "tata"
    NumereauMatricule(2) = 4144
    NomEmployer(3) = "tarzen"
    NumereauMatricule(3) = 4145
    NomEmployer(4) = "DD"
    NumereauMatricule(4) = 4149
    NomEmployer(5) = "moi"
    NumereauMatricule(5) = 4158
    NomEmployer(6) = "toi"
    NumereauMatricule(6) = 4163
    NomEmployer(7) = "lui"
    NumereauMatricule(7) = 4164
    NomEmployer(8) = "elle"
    NumereauMatricule(8) = 4166
    NomEmployer(9) = "autre"
    NumereauMatricule(9) = 4169
     
    EmployerTotal = 9 'nombre total d'employer
     
    For i = 1 To EmployerTotal
    On Error Resume Next 'créé les feuil feuil
       Sheets(NumereauMatricule(i)).Delete
       On Error GoTo 0
       Sheets.Add
       ActiveSheet.Name = NumereauMatricule(i)
       With ActiveWorkbook.Worksheets(NumereauMatricule(i))
            .Range("A1").Value = "Date"
            .Range("B1").Value = "entrée 1"
            .Range("C1").Value = "sortie 1"
            .Range("D1").Value = "entrée 2"
            .Range("E1").Value = "sortie 2"
            .Range("F1").Value = "Total"
            .Range("i1").Value = NumereauMatricule(i)
            .Range("i2").Value = NomEmployer(i)
        End With
    Next i
     
     
     
     
    j = 2
    For i = 1 To EmployerTotal
    enplacementEmployer(i) = 2
    Next i
    matriculePressedent = "0"
     
    While ActiveWorkbook.Worksheets("Pointeuse").Cells(j, 1).Value <> "" 'boucle tent qu'il y a des valeur, on ne sort pas de la boucle
        For i = 1 To EmployerTotal
            If ActiveWorkbook.Worksheets("Pointeuse").Cells(j, 4).Value = NumereauMatricule(i) Then
                K = NumereauMatricule(i)
                M = i
            End If
        Next i
     
        If matriculePressedent = K And L = 3 Then
            L = 4
        Else
            ' tu peux placé le code ici
            ' ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M),1).Value = date
            L = 2
            enplacementEmployer(MPressedent) = enplacementEmployer(MPressedent) + 1
        End If
     
        ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M), L).NumberFormatLocal = "hh:mm"
        ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M), L).Value = ActiveWorkbook.Worksheets("Pointeuse").Cells(j, 3).Value
        ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M), 1).Value = ActiveWorkbook.Worksheets("Pointeuse").Cells(j, 2).Value
        L = L + 1
        j = j + 1
        ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M), L).NumberFormatLocal = "hh:mm"
        ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M), L).Value = ActiveWorkbook.Worksheets("Pointeuse").Cells(j, 3).Value
        ActiveWorkbook.Worksheets(K).Cells(enplacementEmployer(M), 1).Value = ActiveWorkbook.Worksheets("Pointeuse").Cells(j, 2).Value
        j = j + 1
        matriculePressedent = K
        MPressedent = M
     
    Wend
    End Sub
    Je sais que c'est censé etre plus simple de généraliser le tout, mais j'ai beaucoup de mal, quelqu'un pourrait t'il m'aider ?

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour, il est ou le fichier joint ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2011
    Messages : 124
    Points : 38
    Points
    38
    Par défaut
    Le voici

    J'ai essayé la fonction Vlookup, sans succès car comme il y a plusieurs matricules dans le premier fichier, il continue malheureusement de les prendre quoique je fasse, puis apres avoir utilisé la premiere fonction, je constate qu'une fois enlevé la fonction de création de pages, il ne reconnait plus une fonction employé pour lancer la deuxieme boucle
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. macro VBA sous Excel
    Par _debutant dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/01/2009, 17h44
  2. Lenteurs de macros VBA sous Excel 2007 vs Excel 2003
    Par nicotab dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/11/2007, 18h47
  3. [VBA-E]Macro Access sous Excel
    Par toniox dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/05/2006, 15h27
  4. [VBA-E]Execution d'une macro access sous excel VBA
    Par virtualinsanity dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 21/04/2006, 17h27
  5. Une macro synthese en VBA sous excel!
    Par max2245 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 27/12/2005, 20h37

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