Macro "copie jusqu'à trouver une valeur dans cellule A"
6 réponses
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"
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
FdeCourt
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.
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
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
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.
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
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
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.
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
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
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.
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
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
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.
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
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
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.
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
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