Méthode Range pour selectionner des cellules specifiques
laricci
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
rr120 -
rr120 -
Bonjour,
je suis entrain de créer un bouton pour automatiser l'ajout d'une ligne en copiant collant la dernière ligne.
vu qu'il y a plusieurs cellules et que je ne veuille pas la ligne entière, je voulais faire un copier coller à partir de la cellule B à la cellule AH de la dernière ligne, donc j'ai réussi à le faire mais en faisant un copier coller de chaque cellule à part comme cela
Sub Bouton1156_ajouter_une_ligne()
Dim L As Integer
Dim J As Integer
L = Sheets("Vision globale").Range("G65536").End(xlUp).Row
J = Sheets("Vision globale").Range("G65536").End(xlUp).Row + 1
With Sheets("Vision globale")
Range("A" & L).Select
Selection.Copy
Range("A" & J).Select
ActiveSheet.Paste
.Range("A" & J).Value = .Range("A" & L).Value + "0,01"
Range("AI" & L).Select
Selection.Copy
Range("AI" & J).Select
ActiveSheet.Paste
.Range("AI" & J).Value = .Range("AI" & L).Value + "1"
Range("B" & L).Select
Selection.Copy
Range("B" & J).Select
ActiveSheet.Paste
Range("C" & L).Select
Selection.Copy
Range("C" & J).Select
ActiveSheet.Paste
Range("D" & L).Select
Selection.Copy
Range("D" & J).Select
ActiveSheet.Paste
Range("E" & L).Select
Selection.Copy
Range("E" & J).Select
ActiveSheet.Paste
cela rend l'opération un peu lente. j'aimerai une solution pour pouvoir sélectionner une seule fois de B à AH et faire un seul copier coller. voila le code que j'ai en ce moment et il continue jusqu'à AH, c'est pas terrible ;)
Si quelqu'un à une solution, merci d'avance.
cordialement
je suis entrain de créer un bouton pour automatiser l'ajout d'une ligne en copiant collant la dernière ligne.
vu qu'il y a plusieurs cellules et que je ne veuille pas la ligne entière, je voulais faire un copier coller à partir de la cellule B à la cellule AH de la dernière ligne, donc j'ai réussi à le faire mais en faisant un copier coller de chaque cellule à part comme cela
Sub Bouton1156_ajouter_une_ligne()
Dim L As Integer
Dim J As Integer
L = Sheets("Vision globale").Range("G65536").End(xlUp).Row
J = Sheets("Vision globale").Range("G65536").End(xlUp).Row + 1
With Sheets("Vision globale")
Range("A" & L).Select
Selection.Copy
Range("A" & J).Select
ActiveSheet.Paste
.Range("A" & J).Value = .Range("A" & L).Value + "0,01"
Range("AI" & L).Select
Selection.Copy
Range("AI" & J).Select
ActiveSheet.Paste
.Range("AI" & J).Value = .Range("AI" & L).Value + "1"
Range("B" & L).Select
Selection.Copy
Range("B" & J).Select
ActiveSheet.Paste
Range("C" & L).Select
Selection.Copy
Range("C" & J).Select
ActiveSheet.Paste
Range("D" & L).Select
Selection.Copy
Range("D" & J).Select
ActiveSheet.Paste
Range("E" & L).Select
Selection.Copy
Range("E" & J).Select
ActiveSheet.Paste
cela rend l'opération un peu lente. j'aimerai une solution pour pouvoir sélectionner une seule fois de B à AH et faire un seul copier coller. voila le code que j'ai en ce moment et il continue jusqu'à AH, c'est pas terrible ;)
Si quelqu'un à une solution, merci d'avance.
cordialement
A voir également:
- Méthode Range pour selectionner des cellules specifiques
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller des cellules excel - Guide
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
- Out of range - Forum Ecran
- Selectionner texte sur pdf - Guide
3 réponses
salut j'ai une solution pour toi tu sélectionne de B a AH sur la feuille puis tu fait bouton droit "Définir un nom" et sur ton code VBA tu met :
Range("le nom que ta défini" & l).Select
Selection.Copy
Range("le nom que ta défini" & J).Select
ActiveSheet.Paste
Range("le nom que ta défini" & l).Select
Selection.Copy
Range("le nom que ta défini" & J).Select
ActiveSheet.Paste
salut rr120
Merci pour ta proposisition, j'ai essayé ça me donne une erreur 1004 (la méthode range de l'objet '_Global' a échoué)
je ne sais toujours pas d'où provient le problème alors que la syntaxe parait juste.
Range("Stock_tickets" & L).Select
Selection.Copy
Range("Stock_tickets" & J).Select
ActiveSheet.Paste
Merci si t'as d'autres propositions, sinon dit moi si chez toi ça fonctionne.
A+
Merci pour ta proposisition, j'ai essayé ça me donne une erreur 1004 (la méthode range de l'objet '_Global' a échoué)
je ne sais toujours pas d'où provient le problème alors que la syntaxe parait juste.
Range("Stock_tickets" & L).Select
Selection.Copy
Range("Stock_tickets" & J).Select
ActiveSheet.Paste
Merci si t'as d'autres propositions, sinon dit moi si chez toi ça fonctionne.
A+
voila la réponse a ta demande mec, en faite tu as fait les truc a l'envers alors "lol" c'est le range de toute la ligne alors tu refait ton range "Stock_tickets" il doit contenir tout la ligne après tu remplace "LOL" par le nom de ton range et pooofff ca marche
Dim L As Integer
Dim J As Integer
J = Sheets("Vision globale").Range("A65536").End(xlUp).Row + 1
L = Sheets("Vision globale").Range("A65536").End(xlUp).Row
With Sheets("Vision globale")
Range("LOL").Select
Selection.Copy
.Range("A" & J).Select
ActiveSheet.Paste
.Range("A" & J) = .Range("A" & L) + "0.01"
.Range("AI" & J) = .Range("AI" & L) + "1"
Dim L As Integer
Dim J As Integer
J = Sheets("Vision globale").Range("A65536").End(xlUp).Row + 1
L = Sheets("Vision globale").Range("A65536").End(xlUp).Row
With Sheets("Vision globale")
Range("LOL").Select
Selection.Copy
.Range("A" & J).Select
ActiveSheet.Paste
.Range("A" & J) = .Range("A" & L) + "0.01"
.Range("AI" & J) = .Range("AI" & L) + "1"