Décalage de cellule

thomhcv59 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tous le monde ,

Etant débutant en vba ,

j'ai une plage de cellule A2:A6 dans la Feuil1 que j'aimerai copier dans la Feuil2 en B2:B6

mais si B2:B6 est non-vide alors il copie la plage vers la droite donc en C2:C6

Je pense qu'il faut utiliser range et offset mais je ne sais pas comment m'y prendre

Avez-vous une idée ?

Merci d'avance pour vos réponses

Thomas

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
1 seule fois ou "ainsi de suite" ?
c.a.d. : si c2:c6 non vide alors copier en D2:D6 etc.

si 1 seule fois
Option Explicit

Sub decaler_coller()
Dim source()
source = Sheets(1).Range("A2:A6").Value
With Sheets(2)
If Application.CountA(.Range("B2:B6")) = 0 Then
.Range("B2:B6") = source
Else
.Range("C2:C6") = source
End If
End With
End Sub


Michel
0
thomhcv59 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Michel ,

Excuse moi pour le retard

c'est ainsi de suite

Thom
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Vite fait avant la soupe version "ainsi de suite"
Option Explicit
Sub hhhh()
Dim Col As Integer, Bloc()
Bloc = Sheets(1).Range("A2:A6").Value
With Sheets(2)
Col = 2
While Application.CountA(.Range(.Cells(2, Col), .Cells(6, Col))) > 0
Col = Col + 1
Wend
.Range(.Cells(2, Col), .Cells(6, Col)) = Bloc
.Select
End With

End Sub
0