Résolu 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.
 
Ce fil a été résolu! Aller à la solution…

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 Accro
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
 
Ce message a été identifié comme étant une solution!
  • J'aime
Reactions: bpo

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
 

Fred0o

XLDnaute Barbatruc
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
Re-bonjour bpo
D’où l’intérêt d’être précis lors des demandes. Je vois que tu as trouve une solution qui fonctionne...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas