Copie de lignes sur dernière cellule libre de 2 colonnes

Bonjour à tous,

je débute sous excel pour mon boulot et j'ai pioché dans différents forums (encore merci!) pour créer ma première macro.

Quand mes lignes de la feuille1 sont copiées sur la feuille 2, elle sont ajoutées à la dernière cellule libre de la colonne J.

Je voudrai qu'elles s'ajoute à la dernière cellule libre des colonnes J ou O selon celle qui est le plus complétée (et ainsi eviter des effacements de lignes ).

Voici la macro :

Sub aa()

Dim i As Integer

With Sheets("Feuil2")

For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row

If Range("A2") = .Cells(i, 1) Then

MsgBox ("Ces données ont déjà été reportées sur la feuille 2")

Exit Sub

End If

Next i

Range("A2:O12").Copy Destination:=.Range("A" & .Range("J" & Rows.Count).End(xlUp).Row + 1)

Range("A2:O12").ClearContents

End With

End Sub

Merci par avance pour votre aide!

Bonjour,

A la lecture de ta macro ... je me demande si elle fonctionne bien comme tu l'envisages ...

Pourrais-tu joindre ton fichier ...cela permet de faire des tests en condition réelle ...

Bonjour James007 (avec un pseudo comme ça tu vas me sauver sans souci! ),

je joints mon fichier.

Comme je l'ai dit, j'ai copié-collé des morceaux de macros, par ci par là... Il fait le job mais peut surement être amélioré

L'idée, c'est de saisir des données sur des personnes que je reçois, qu'elles soient regroupées sur la feuille2 que je puisse faire des TCD et sortir de beaux graphiques.

Je vois la feuille1 comme une page de saisie qui alimente la feuille 2 mais il faut que mes données soient collées dans la feuille2 après la dernière cellule de la colonne J ou O, sinon ça peut effacer des lignes.

J'espère avoir été assez clair...

Merci

7tableau-sam-v1.zip (12.07 Ko)

Re,

Merci pour ton fichier ...

Mais je vais t'avouer qu'il faudrait quelques lignes de données ... pour justement faire des tests ...

Je n'ai mis aucune des formules ou des listes déroulantes mais j'ai complété un peu le tableau pour te faire voir le résultat

Le problème que j'ai concrètement, c'est que si j'entre les données d'un foyer sans enfant (colonne J), la saisie suivante risque d'écraser ma ligne. Or, il y a toujours au moins 1 objet du rendez-vous (colonne o), donc si ma macro tient compte des 2 colonnes, elle pourra ajouter les lignes sans rien effacer... voilà, voila...

Merci,

5tableau-sam-v1.zip (12.54 Ko)

Re,

A titre de point de départ ...

Sub TestAAA()
Dim x As Long
x = Application.WorksheetFunction.Max(Sheets("Feuil2").Range("J" & Rows.Count).End(xlUp).Row + 1, Sheets("Feuil2").Range("O" & Rows.Count).End(xlUp).Row + 1)
Range("A2:O12").Copy Destination:=Sheets("Feuil2").Range("A" & x)
Range("A2:O12").ClearContents
End Sub

En espérant que cela t'aide ...

Merci! C'est impeccable! les 2 colonnes sont bien prises en compte.

Si je peux abuser, j'aurai une 2eme petite question:

J'ai inséré dans la macro une vérification pour éviter les doublons dans la colonne A.

With Sheets("Feuil2")

For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row

If Range("A2") = .Cells(i, 1) Then

MsgBox ("Ces données ont déjà été reportées sur la feuille 2")

Exit Sub

End If

Next i

Mon problème, c'est que quand A est vide (si on ajoute simplement un Objet du RDV dans O de la feuille1), il me dit qu'il y a doublon. Y'a-t-il moyen d'exclure la cellule vide de la vérification?

Merci d'avance

Re,

Content que cela fonctionne ...

Merci pour tes remerciements ... :smile

Concernant ta seconde question ... tu peux tester le code suivant :

If Not IsEmpty(Range("A2")) Then
       If Range("A2") = .Cells(i, 1) Then MsgBox ("Ces données ont déjà été reportées sur la feuille 2"): Exit Sub
End If

Ohhh James!

Tu as résolu mes deux soucis et mon tableau (qui vaut ce qu'il vaut ) est prêt pour un petit lifting.

Merci (encore une fois!) pour tes réponses aussi complètes et aussi rapides.

Je te dirai bien à charge de revanche, mais j'aurai jamais le niveau!

Peut-être à bientôt sur le forum,

Re,

Ravi que cela puisse t'aider ...

Merci ... pour tes remerciements ...

Rechercher des sujets similaires à "copie lignes derniere libre colonnes"