VBA - Copier Coller des données jusqu'à "Total"

julien712

XLDnaute Junior
Bonjour

Je souhaites copier coller via une macro VBA les données de mon tableau A1 à E9 vers la cellule G1 (enfin à partir de cette cellule pour le collage)
Toutefois, je ne souhaite pas que cela colle la ligne où figure le mot "Total". En l’occurrence, la ligne 10

Ci joint le fichier en exemple

Connaissez vous ce code VBA permettant de le faire ?

Merci

Cdlt
 

Pièces jointes

  • Classeur5.xls
    16.5 KB · Affichages: 64
  • Classeur5.xls
    16.5 KB · Affichages: 70
  • Classeur5.xls
    16.5 KB · Affichages: 63

Gorfael

XLDnaute Barbatruc
Re : VBA - Copier Coller des données jusqu'à "Total"

Salut julien712 et le forum
Je souhaites copier coller via une macro VBA les données de mon tableau A1 à E9 vers la cellule G1 (enfin à partir de cette cellule pour le collage)
Code:
[A1:E9].copy [G1]
Toutefois, je ne souhaite pas que cela colle la ligne où figure le mot "Total". En l’occurrence, la ligne 10
Parce que la ligne 10 est censée se trouver dans la plage A1:E9 ???
Je pense que si tu exposais le but(final) à atteindre, on pourrait t'aider mieux.
A+
 

julien712

XLDnaute Junior
Re : VBA - Copier Coller des données jusqu'à "Total"

Salut ,

Merci pour ta réponse :)

Ma plage A1:E9 correspond aux données HORS ligne "Total"
La ligne 10 est donc la ligne "Total"

Le fichier joint au début du post est plus explicite je pense.

Seul bémol à prendre en compte : les données vont s'ajouter au fur et à mesure des semaines.
Donc la semaine prochaine en S28, une nouvelle ligne sera créee automatiquement et la ligne Total sera donc la ligne 11 ....

Toujours est il qu'il ne faut que je copie colle seulement les valeurs des semaines, les colonnes 'Abouti' 'Code Conclusion KO' 'Non abouti' et 'Total' (la colonne hein :) )

Est ce plus clair ?
 

pierrejean

XLDnaute Barbatruc
Re : VBA - Copier Coller des données jusqu'à "Total"

Re

Ue autre solution:

Code:
Set c = Columns(1).Find("Total", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
  Range("A1:E" & c.Row - 1).Copy Destination:=Range("G1")
End If

Salut gorfael
 

Charly88

XLDnaute Occasionnel
Re : VBA - Copier Coller des données jusqu'à "Total"

Bonjour PierreJean, j'essaie d'adapter ta ligne de code avec un range de cells et je plante, mauvaise syntaxe ou utilisation impossible ?

Sheets("Sheet2").Range("I1:J1").Copy Destination:=Sheets("Sheet1").Range("A1:B1") 'OK
Sheets("Sheet2").Range("I1:J1").Copy Destination:=Sheets("Sheet1").Cells(1, 1) 'OK


Sheets("Sheet2").Range("I1:J1").Copy Destination:=Sheets("Sheet1").Range(Cells(1, 1), Cells(1, 2)).Value 'BUG
Sheets("Sheet2").Range(Cells(1, 1), Cells(1, 2)).Copy Destination:=Sheets("Sheet1").Cells(1, 1) 'BUG

Alors que dans le même temps, ces deux-là sont correctement rédigés :
Range(Cells(1, 1), Cells(1, 2)).Select ' OK
Range(Cells(1, 1), Cells(1, 2)).Copy 'OK

Merci en tous les cas pour ces à toi et Gorfael pour ces lignes de codes bien pratiques.
 

Gorfael

XLDnaute Barbatruc
Re : VBA - Copier Coller des données jusqu'à "Total"

Salut Charly88 et le forum
Code:
Sheets("Sheet2").Range(Cells(1, 1), Cells(1, 2)).Copy Destination:=Sheets("Sheet1").Cells(1, 1)
Ce que tu as écrit :
Code:
Sheets("Sheet2").Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(1, 2)).Copy Destination:=Sheets("Sheet1").Cells(1, 1)
ce que tu aurais du écrire :
Code:
Sheets("Sheet2").Range(Sheets("Sheet2").Cells(1, 1), Sheets("Sheet2").Cells(1, 2)).Copy Destination:=Sheets("Sheet1").Cells(1, 1)
Ou, plus "économiquement" :
Code:
with Sheets("Sheet2")
    .Range(.Cells(1, 1), .Cells(1, 2)).Copy Sheets("Sheet1").Cells(1, 1)
End with
A+
 

Discussions similaires

Réponses
6
Affichages
454

Statistiques des forums

Discussions
312 553
Messages
2 089 532
Membres
104 205
dernier inscrit
mehaya63