Fusion de cellules (lignes)

Fermé
Boz - 31 mai 2012 à 11:14
 Boz - 31 mai 2012 à 11:32
Bonjour a tous,
Je suis actuellement sur un projet vba et je bloque à un certain niveau.
En effet dans mon programmen je copie des lignes d'un tableau vers d'autre classeurs afin de procéder à une réorganisation des fichiers.

Le problème est que lorsque je copie mes lignes elles se copient sur le meme numéro de ligne que le tableau initial
Par conséquent mon collage débute parfois à la ligne 163 et je voudrais pouvoir fusionner l'ensemble des ligne située au-dessus de mon collage qui sont vides.

Si vous avez des idées ....

Merci d'avance.



A voir également:

2 réponses

Souafeur Messages postés 205 Date d'inscription mercredi 2 mai 2012 Statut Membre Dernière intervention 26 juin 2015 84
31 mai 2012 à 11:27
Bonjour,

Sans voir ton code je ne peux pas te donner de réponses précises mais intuitivement je définirai une plage de données dans le classeur recevant la copie afin de ranger cette copie dans la plage créée (qu'il sera alors possible de placer n'importe où dans le classeur excel).
Est-ce que cela répond à ta question ou suis-je hors sujet ??
0
Non tu n'es pas hors sujet mais le problème est que sur les lignes que je copie il y a plusieurs formules qui dépendent du numéro de la ligne.

Je ne peut donc placé ma sélection de copie n'importe ou dans ma feuille .

Voila le code de copie :


Sub macrodouat()
Dim DerLig As Integer
Dim ligne As Integer

'calcul de la dernière ligne de la feuille EnCours
With ThisWorkbook.Sheets("TOTAL ORDER MORPHING WOMEN")
DerLig = .Range("C" & .Rows.Count).End(xlUp).Row

End With
ligne = 23

Do Until ligne > DerLig
Range(Cells(ligne, "E"), Cells(ligne, "E")).Select
ActiveCell.FormulaR1C1 = "=LEFT(RC[-4],2)"

ligne = ligne + 1
Loop

ligne = 23

Do Until ligne > DerLig
If Range(Cells(ligne, "E"), Cells(ligne, "E")).Value = "BR" Then

Range(Cells(ligne, "A"), Cells(ligne, "D")).Select
Selection.Copy
Sheets("BR").Select
Range(Cells(ligne, "A"), Cells(ligne, "A")).Select
ActiveSheet.Paste
ThisWorkbook.Sheets("TOTAL ORDER MORPHING WOMEN").Select
ligne = ligne + 1
Else
ligne = ligne + 1
End If

Loop


End Sub
0