Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Première colonne vide disponible ?

4 réponses
Avatar
access13090
Bonjour à tou(te)s,

J'ai parcouru les news pour trouver une solution à ma problématique,
sans succès (où alors je suis passé à côté).

Je cherche une instruction en vba qui me permette de copier sur une
feuille de calculs une plage de données pur ensuite coller cette
sélection dans une autre feuille de calculs du même classeur mais dans
la première colonne vide disponible.

Auriez-vous une solution

Merci d'avance

4 réponses

Avatar
michdenis
Un petit exemple :
'-----------------------------------
Sub test()
'Feuille où sont les données
With Worksheets("Feuil1") 'à adapter
Set rg = .Range("A1:H25") 'Plage à adapter
End With

'Feuille où sont copiées les données
With Worksheets("Feuil2") 'Nom à adapter
col = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column + 1
rg.Copy .Cells(1, col)
End With

End Sub
'-----------------------------------



"access13090" a écrit dans le message de groupe de discussion
:
Bonjour à tou(te)s,

J'ai parcouru les news pour trouver une solution à ma problématique,
sans succès (où alors je suis passé à côté).

Je cherche une instruction en vba qui me permette de copier sur une
feuille de calculs une plage de données pur ensuite coller cette
sélection dans une autre feuille de calculs du même classeur mais dans
la première colonne vide disponible.

Auriez-vous une solution

Merci d'avance
Avatar
access13090
bonjour

Merci pour cette réponse rapide.
Cependant une erreur d'exécution 91 (variable objet ou variable de bloc
with non définie) dans le deuxième With ... End With de votre exemple.

Je suis sous Office 2003 Pro

Cordialement


michdenis avait soumis l'idée :
Un petit exemple :
'-----------------------------------
Sub test()
'Feuille où sont les données
With Worksheets("Feuil1") 'à adapter
Set rg = .Range("A1:H25") 'Plage à adapter
End With

'Feuille où sont copiées les données
With Worksheets("Feuil2") 'Nom à adapter
col = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column + 1
rg.Copy .Cells(1, col)
End With

End Sub


Avatar
michdenis
Le message provient de la méthode Find.
Dans certains cas, je suppose que ta feuille de destination
et vide, comme la méthode Find ne trouve pas, elle
renvoie une erreur de type 91 et c'est normal !
Il s'agit d'adapter un peu la procédure comme ceci :


Sub test()
Dim Rg As Range, Col As Range
'Feuille où sont les données
With Worksheets("Feuil1") 'à adapter
Set Rg = .Range("A1:H25") 'Plage à adapter
End With

'Feuille où sont copiées les données
With Worksheets("Feuil2") 'Nom à adapter
Set Col = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious)
If Not Col Is Nothing Then
Rg.Copy .Cells(1, Col.Column + 1)
Else
Rg.Copy .Cells(1, 1)
End If
End With
Set Rg = Nothing: Set Col = Nothing
End Sub




"access13090" a écrit dans le message de groupe de discussion
:
bonjour

Merci pour cette réponse rapide.
Cependant une erreur d'exécution 91 (variable objet ou variable de bloc
with non définie) dans le deuxième With ... End With de votre exemple.

Je suis sous Office 2003 Pro

Cordialement


michdenis avait soumis l'idée :
Un petit exemple :
'-----------------------------------
Sub test()
'Feuille où sont les données
With Worksheets("Feuil1") 'à adapter
Set rg = .Range("A1:H25") 'Plage à adapter
End With

'Feuille où sont copiées les données
With Worksheets("Feuil2") 'Nom à adapter
col = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column + 1
rg.Copy .Cells(1, col)
End With

End Sub


Avatar
access13090
Bonjour,
Merci pour vos explications
Cordialement.

michdenis a présenté l'énoncé suivant :