Copier des colonnes avec conditions
tim2023
Messages postés
4
Statut
Membre
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je travaille sur la réalisation d'un classeur sous excell2007 pour le suivi de mes élèves. Voici le classeur (démo)
https://www.cjoint.com/?0lww5v5yK7b
Je pense que pour ce que je veux faire, il me faut créer une macro (je suis débutant en macros).
Voici ce que je voudrais faire :
Je voudrais copier les colonnes de la feuille de calcul "saisie 1" vers la feuille de calcul correspondant à chaque élève sans écraser les données déjà présentes dans la feuille de calcul de l'élève.
Exemple : copier la colonne "Nicolas" (sans les lignes 1 et 2) de la feuille de calcul "saisie1" vers la feuille de calcul "Nicolas" sans effacer les données déjà présentes dans la feuille de calcul "Nicolas", puis effectuer la même opération pour les autres élèves (si possible dans la même macro).
Pensez vous que celà est possible ? Si oui, pourriez vous me fournir le début de la macro (pour les 2 premiers élèves, je pense qu'après j'arriverai à me débrouiller par copier / coller des codes et changements des valeurs propres à chaque élève).
D'avance merci pour votre aide.
Je travaille sur la réalisation d'un classeur sous excell2007 pour le suivi de mes élèves. Voici le classeur (démo)
https://www.cjoint.com/?0lww5v5yK7b
Je pense que pour ce que je veux faire, il me faut créer une macro (je suis débutant en macros).
Voici ce que je voudrais faire :
Je voudrais copier les colonnes de la feuille de calcul "saisie 1" vers la feuille de calcul correspondant à chaque élève sans écraser les données déjà présentes dans la feuille de calcul de l'élève.
Exemple : copier la colonne "Nicolas" (sans les lignes 1 et 2) de la feuille de calcul "saisie1" vers la feuille de calcul "Nicolas" sans effacer les données déjà présentes dans la feuille de calcul "Nicolas", puis effectuer la même opération pour les autres élèves (si possible dans la même macro).
Pensez vous que celà est possible ? Si oui, pourriez vous me fournir le début de la macro (pour les 2 premiers élèves, je pense qu'après j'arriverai à me débrouiller par copier / coller des codes et changements des valeurs propres à chaque élève).
D'avance merci pour votre aide.
1 réponse
-
Bonjour,
Une proposition :Sub Maj() Dim shSaisie As Worksheet, shNom As Worksheet Dim col As Long, lig As Long Set shSaisie = Worksheets("Saisie 1") With shSaisie For col = 2 To .[IV2].End(xlToLeft).Column On Error GoTo fin Set shNom = Worksheets(.Cells(2, col).Value) On Error GoTo 0 For lig = 3 To .[A65536].End(xlUp).Row If shNom.Cells(lig, 2) = "" And .Cells(lig, col) <> "" Then shNom.Cells(lig, 2) = .Cells(lig, col) Next lig Next col End With Exit Sub fin: MsgBox ("Feuille " & Worksheets(shSaisie.Cells(2, col).Value) & " absente") End Sub
Par contre tu ne précisais pas, je colle les données en colonne 2 des feuilles.
Et je contrôle les données, pas les couleurs, si tu les veux en plus ou à la place précise-le.
eric
edit: pour les couleurs :If shNom.Cells(lig, 2).Interior.ColorIndex = xlNone Then shNom.Cells(lig, 2).Interior.ColorIndex = .Cells(lig, col).Interior.ColorIndex