Macro "copie jusqu'à trouver une valeur dans cellule A"

Le
Françoise
Bonjour à tous,

je voudrais faire une macro qui dise
copie les lignes
depuis A16
jusqu'à la ligne juste au dessus de la cellule A qui contient le texte"TOTAL
COMMANDE"

d'avance merci pour votre aiguillage
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #5442141
Salut,

Sub Copy_Range()
Dim lgn As Long
On Error Resume Next
lgn = Columns("A:A").Find(What:="TOTAL COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
Range(Cells(16, 1), Cells(lgn, 1)).Copy
End If
End Sub

Cordialement,

F.
Françoise
Le #5442131
Bonjour FdeCourt,

Fidecourt a encore besoin d'une petite aide pour finaliser cette macro,
je voudrais que la sélection soit copiée sur une autre feuille mais avec
uniquement les valeurs et formats de cellule;
voici ce que j'ai écrit mais il doit y avoir une erreur car cela ne me copie
absolument rien !!!!
====== Sub CopieFeuille()
'
Sheets("Produit Consommé").Select


Dim lgn As Long
On Error Resume Next
lgn = Columns("A:A").Find(What:="TOTAL COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
Range(Cells(16, 1), Cells(lgn, 1)).Copy Sheets("Commande").Select
Range("A16").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Range("A16").Select
End If

End Sub
============================ Où est l'erreur ?
d'avance merci



Salut,

Sub Copy_Range()
Dim lgn As Long
On Error Resume Next
lgn = Columns("A:A").Find(What:="TOTAL COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
Range(Cells(16, 1), Cells(lgn, 1)).Copy
End If
End Sub

Cordialement,

F.



FdeCourt
Le #5442121
Salut,

La macro ci dessous est totalement indépendante de la feuille
sélectionnée :

Sub CopieFeuille()
Dim lgn As Long
With Sheets("Produit Consommé")
On Error Resume Next
lgn = Sheets("Produit Consommé").Columns("A:A").Find(What:="TOTAL
COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
.Range(.Cells(16, 1), .Cells(lgn, 1)).Copy
End If
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteValues
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteFormats
End With
End Sub

Cordialement,

F.
Françoise
Le #5442111
Re-moi,

bon j'y suis presque ! Effectivement ça marche très bien sauf que je
voudrais copier pour chaque ligne de la cellule A à la cellule L,
j'ai tenté de mettre :

.Range(.Cells(16, 1), .Cells(lgn, 1:12)).Copy

et aussi

.Range(.Cells(16, 1), .Cells(lgn, "A:L")).Copy

mais là je n'ai plus rien de copié du tout, donc je me plante encore quelque
part !
encore besoin d'un petit coup de main
d'avance merci



Salut,

La macro ci dessous est totalement indépendante de la feuille
sélectionnée :

Sub CopieFeuille()
Dim lgn As Long
With Sheets("Produit Consommé")
On Error Resume Next
lgn = Sheets("Produit Consommé").Columns("A:A").Find(What:="TOTAL
COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
.Range(.Cells(16, 1), .Cells(lgn, 1)).Copy
End If
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteValues
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteFormats
End With
End Sub

Cordialement,

F.



FdeCourt
Le #5442091
Effectivement,

Voilà la bonne syntaxe :

Sub CopieFeuille()
Dim lgn As Long
With Sheets("Produit Consommé")
On Error Resume Next
lgn = Sheets("Produit Consommé").Columns("A:A").Find(What:="TOTAL
COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
.Range(.Cells(16, 1), .Cells(lgn, 12)).Copy
End If
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteValues
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteFormats
End With
End Sub

Cordialement,

F.
Françoise
Le #5442071
Ca marche impec !
Merci beaucoup pour ton aide
cordialement



Effectivement,

Voilà la bonne syntaxe :

Sub CopieFeuille()
Dim lgn As Long
With Sheets("Produit Consommé")
On Error Resume Next
lgn = Sheets("Produit Consommé").Columns("A:A").Find(What:="TOTAL
COMMANDE").Row - 1
If Err <> 0 Then
Exit Sub
Else
.Range(.Cells(16, 1), .Cells(lgn, 12)).Copy
End If
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteValues
Sheets("Commande").Range("A16").PasteSpecial Paste:=xlPasteFormats
End With
End Sub

Cordialement,

F.





Publicité
Poster une réponse
Anonyme