Macro permettant de rechercher la prochaine cellule vide
Bonjour à vous,
je cherche a faire une Macro permettant de rechercher la prochaine cellule vide dans la colonne A. Afin d'y copier mes futurs cellule (macro que j'ai déjà crée).
La macro que j'ai deja permet de transformer un tableau et de le remanier en meme temps. sauf que pour le momen ça écrase toujours les même cellules Logique y'a pas de boucle ni rien.. Alors si une Ame charitable pouvait m'aider
Objectif: Rajouter une boucle qui cherche la prochaine cellule vide( dans la feuille de destination(qui est la feuille active dans mon cas) et repere donc le numero de ligne pour l'affecter au différents cellule repéré dans ma macro existante.
Ma macro pour le moment c'est:
Option Explicit
Private Sub Worksheet_Activate()
Dim Der_Col As Integer
Application.ScreenUpdating = False
Der_Col = Sheets("Test").UsedRange.Columns.Count
With Sheets("Test")
'Copie cellule (Ligne 2 colonne 5) jusqu'à (Ligne der_col)
.Range(.Cells(2, 5), .Cells(2, Der_Col)).Copy
'Vers cellule B2 en copiant juste la valeur
Range("B2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(7, 5), .Cells(7, Der_Col)).Copy
Range("D2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(3, 5), .Cells(3, Der_Col)).Copy
Range("C2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(9, 5), .Cells(9, Der_Col)).Copy
Range("E2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(6, 5), .Cells(6, Der_Col)).Copy
Range("A2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
End With
'Application.CutCopyMode = False
Range("A8").Select
End SubBonjour
Si je comprends essayes
Option Explicit
Private Sub Worksheet_Activate()
Dim Der_Col As Integer
Dim Der_Lig As Long
Application.ScreenUpdating = False
Der_Col = Sheets("Test").UsedRange.Columns.Count
Der_Lig = Range("A" & Rows.Count).End(xlUp).Row
With Sheets("Test")
'Copie cellule (Ligne 2 colonne 5) jusqu'à (Ligne der_col)
.Range(.Cells(2, 5), .Cells(2, Der_Col)).Copy
'Vers cellule B2 en copiant juste la valeur
Range("B" & Der_Lig).PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(7, 5), .Cells(7, Der_Col)).Copy
Range("D" & Der_Lig).PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(3, 5), .Cells(3, Der_Col)).Copy
Range("C" & Der_Lig).PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(9, 5), .Cells(9, Der_Col)).Copy
Range("E" & Der_Lig).PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range(.Cells(6, 5), .Cells(6, Der_Col)).Copy
Range("A" & Der_Lig).PasteSpecial Paste:=xlPasteValues, Transpose:=True
End With
'Application.CutCopyMode = False
Range("A8").Select
End SubSi j'ai mal compris alors joins un petit fichier avec ce que tu veux
C'est pile poil ce que je voulais merci bien =)
heureusement que ce forum est actif
une mini modification faut juste rajouter le +1 au niveau de
Der_Lig = Range("A" & Rows.Count).End(xlUp).Row + 1Comme ça on vise la bien la ligne juste apres la dernière ligne utilisé
Bonjour
Ok j'avais pas vu
Merci