Méthode Range pour selectionner des cellules specifiques

laricci Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
 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

3 réponses

rr120
 
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
0
laricci Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
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+
0
rr120
 
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"
0