[VBA] Erreur sur copie d'une cellule (feuille1) vers une cellule (feuille2)

Rookiz

XLDnaute Nouveau
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 :
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

  • Compil_base.xls
    41 KB · Affichages: 55
Dernière édition:

Rookiz

XLDnaute Nouveau
Re : [VBA] Erreur sur copie d'une cellule (feuille1) vers une cellule (feuille2)

Ce code est une partie de ma macro.

La macro principal effectue les opérations suivantes :
- Récupérations de l'ensemble des employés (pas tous) par départements via une extraction de base de donnée fournie.
- Récupérations des deux bases stages (extraction également), compilation des deux, pour renseigner dans le tableaux les stages déjà effectué et ceux à faire en fonction du statue de l'employé.
- Mise en forme du tableau selon état du stage.

Etant donné les extractions de base, VBA me semble plus propice à ce genre de besoin.
 

Rookiz

XLDnaute Nouveau
Re : [VBA] Erreur sur copie d'une cellule (feuille1) vers une cellule (feuille2)

OH LA LAAAA ..... j'ai honte !!!!!!!!!!!!
J'ai regardé ces lignes des dizaines de fois sans voir cette erreur.

Vraiment désolé ... vraiment ... vraiment .... vraiment désolé.
Merci beaucoup ERIC pour tes bons yeux.
 

Discussions similaires

Réponses
17
Affichages
803

Statistiques des forums

Discussions
312 094
Messages
2 085 244
Membres
102 834
dernier inscrit
nadusha