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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <access13090@worldonline.fr> a écrit dans le message de groupe de discussion
: mn.c38b7d91f405cad1.90851@worldonline.fr...
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.
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
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
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
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
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
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" <access13090@worldonline.fr> a écrit dans le message de groupe de discussion
: mn.c41c7d91f1e78e74.90851@worldonline.fr...
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
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
access13090
Bonjour, Merci pour vos explications Cordialement.
michdenis a présenté l'énoncé suivant :
Bonjour,
Merci pour vos explications
Cordialement.