Microsoft 365 copier et coller dans cellule si vide sinon passer dans la cellule suivante

bpo

XLDnaute Nouveau
Bonjour à tous,

j'aimerais avoir de l'aide concernant une macro, je travaille sur un fichier assez grand mais j'aimerais faire une copie d'une colonne (D33:D35) et la coller à l'emplacement (D3:D5), ça j'arrive à le faire mais j'aimerais que ensuite si je le refais qu'il colle les éléments dans l'emplacement suivant (E3:E5) car l'autre sera déjà rempli ainsi de suite que à chaque fois que j'appui sur mon bouton qu'il remplisse la cellule suivante à droite.

Merci d'avance pour votre aide.
 
Solution
Salut BPO,
Avec cette petite macro, mais il ne faut pas qu'il y ai d'autres données en ligne 3 que celles que tu copie
VB:
Sub TEST()
    Range("D33:D35").Copy
    xDerCol = Range("XFD3").End(xlToLeft).Column
    Cells(3, xDerCol + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
@+ Lolote83

Fred0o

XLDnaute Barbatruc
Bonjour bpo

Voici un exemple a tester :
VB:
Sub Copie()
    Range("D33:D35").Copy
    If [D3] = "" Then
        [D3].Select
        ActiveSheet.Paste
    ElseIf [E3] = "" Then
        [E3].Select
        ActiveSheet.Paste
    Else
        [D3].End(xlToRight).Offset(0, 1).Select
        ActiveSheet.Paste
    End If
End Sub
 

Lolote83

XLDnaute Barbatruc
Salut BPO,
Avec cette petite macro, mais il ne faut pas qu'il y ai d'autres données en ligne 3 que celles que tu copie
VB:
Sub TEST()
    Range("D33:D35").Copy
    xDerCol = Range("XFD3").End(xlToLeft).Column
    Cells(3, xDerCol + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
@+ Lolote83
 

bpo

XLDnaute Nouveau
Bonjour bpo

Voici un exemple a tester :
VB:
Sub Copie()
    Range("D33:D35").Copy
    If [D3] = "" Then
        [D3].Select
        ActiveSheet.Paste
    ElseIf [E3] = "" Then
        [E3].Select
        ActiveSheet.Paste
    Else
        [D3].End(xlToRight).Offset(0, 1).Select
        ActiveSheet.Paste
    End If
End Sub
Merci il marche effectivement mais il y a un souci il colle pas les valeurs , je veux qu'il colle les valeurs que j'ai et la ça colle juste des 0
 

bpo

XLDnaute Nouveau
Salut BPO,
Avec cette petite macro, mais il ne faut pas qu'il y ai d'autres données en ligne 3 que celles que tu copie
VB:
Sub TEST()
    Range("D33:D35").Copy
    xDerCol = Range("XFD3").End(xlToLeft).Column
    Cells(3, xDerCol + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
@+ Lolote83
merci ça fonctionne
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo