Bonjour,
J'ai mis en place une macro qui fait un état des formations (certaines formations) effectués ou non pour chaque salarié depuis 2008.
Pour savoir qui a fait quel formation, je m'appuie sur 2 fichiers :
- le premier répertorie les formations (seulement celle dont j'ai besoin) effectués de 2008 à 2011. Fichier fixe, ne change jamais. Feuille "ListeStages" dans fichier.
- le second fichier répertorie les formations (toutes formations confondus) effectués en 2012. Fichier mis à jour régulièrement. Feuille "base" dans fichier.
Ma macro, vérifie sur chaque ligne occupé de la feuille "base" le libellé de la formation.
Si le libellé correspond, elle récupère "libellé", "Nom,Prénom" et "matricule" et les colles dans les colonnes "A", "B" et "C" de ma feuille "ListeStages", à la suite de celle déjà présente (mais en fixe).
Au début, je ne récupérais que "libellé" et "Nom,Prénom" et tout fonctionnait très bien.
Mais pour un soucis d'homonyme, il est préférable de récupérer le matricule pour la suite de ma macro (donc je n'ai pas donné de détail).
Voici mon code :
Quand j'active la 3eme ligne de chaque "Case", j'ai une erreur que je n'arrive pas a résoudre.
Je pense que le problème provient du format des cellules, mais je n'arrive pas à le résoudre malgré un grand nombre de test.
J'ai même essayer de changer mon code, de faire autrement, mais toujours une erreur.
Quelqu'un saurait m'apporter son aide, s'il vous plaît ?
Merci beaucoup du temps que vous prendrez pour me répondre.
Rookiz
J'ai mis en place une macro qui fait un état des formations (certaines formations) effectués ou non pour chaque salarié depuis 2008.
Pour savoir qui a fait quel formation, je m'appuie sur 2 fichiers :
- le premier répertorie les formations (seulement celle dont j'ai besoin) effectués de 2008 à 2011. Fichier fixe, ne change jamais. Feuille "ListeStages" dans fichier.
- le second fichier répertorie les formations (toutes formations confondus) effectués en 2012. Fichier mis à jour régulièrement. Feuille "base" dans fichier.
Ma macro, vérifie sur chaque ligne occupé de la feuille "base" le libellé de la formation.
Si le libellé correspond, elle récupère "libellé", "Nom,Prénom" et "matricule" et les colles dans les colonnes "A", "B" et "C" de ma feuille "ListeStages", à la suite de celle déjà présente (mais en fixe).
Au début, je ne récupérais que "libellé" et "Nom,Prénom" et tout fonctionnait très bien.
Mais pour un soucis d'homonyme, il est préférable de récupérer le matricule pour la suite de ma macro (donc je n'ai pas donné de détail).
Voici mon code :
Code:
Sub CompilBaseStag()
Dim Ligne As Long
Dim LigneCopie As Long
Ligne = 2
LigneCopie = 5
While Sheets("base").Cells(Ligne, 4) <> ""
Select Case Sheets("base").Cells(Ligne, 4)
Case "Formation X"
Sheets("ListeStages").Cells(LigneCopie, 1) = Sheets("base").Cells(Ligne, 4)
Sheets("ListeStages").Cells(LigneCopie, 2) = Sheets("base").Cells(Ligne, 29)
'Sheets("LigneStages").Cells(LigneCopie, 3) = Sheets("base").Cells(Ligne, 28)
LigneCopie = LigneCopie + 1
Case "Formation Y"
Sheets("ListeStages").Cells(LigneCopie, 1) = Sheets("base").Cells(Ligne, 4)
Sheets("ListeStages").Cells(LigneCopie, 2) = Sheets("base").Cells(Ligne, 29)
'Sheets("LigneStages").Cells(LigneCopie, 3) = Sheets("base").Cells(Ligne, 28)
LigneCopie = LigneCopie + 1
Case "Formation Z"
Sheets("ListeStages").Cells(LigneCopie, 1) = Sheets("base").Cells(Ligne, 4)
Sheets("ListeStages").Cells(LigneCopie, 2) = Sheets("base").Cells(Ligne, 29)
'Sheets("LigneStages").Cells(LigneCopie, 3) = Sheets("base").Cells(Ligne, 28)
LigneCopie = LigneCopie + 1
End Select
Ligne = Ligne + 1
Wend
End Sub
Quand j'active la 3eme ligne de chaque "Case", j'ai une erreur que je n'arrive pas a résoudre.
Je pense que le problème provient du format des cellules, mais je n'arrive pas à le résoudre malgré un grand nombre de test.
J'ai même essayer de changer mon code, de faire autrement, mais toujours une erreur.
Quelqu'un saurait m'apporter son aide, s'il vous plaît ?
Merci beaucoup du temps que vous prendrez pour me répondre.
Rookiz
Pièces jointes
Dernière édition: