EXCEL VBA - Insertion de ligne a ref. variabl
Résolu
Pyvoudelet
Messages postés
169
Date d'inscription
Statut
Membre
Dernière intervention
-
Pyvoudelet Messages postés 169 Date d'inscription Statut Membre Dernière intervention -
Pyvoudelet Messages postés 169 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
JE voudrais savoir comment avec du code, on peut retrouver une valeur précise dans une colonne....
A partir du choix d une valeur dans une cellule, il faudrait pouvoir retrouver le tableau correspondant dans une autre feuille de calcul, et y inserer des infos. LE probleme c Est qu a chaque ajout, la valeur des lignes vont changer a chaque fois. Au début j'avais écrit pour la macro du bouton "save":
If Sheets("Feuil2").Range("A6").Value = "Argentina" Then
Sheets("Feuil1").Rows(11).EntireRow.Insert
Sheets("Feuil2").Range("A6:F6").Copy
Sheets("Feuil1").Range("A11").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Else
Sheets("Feuil1").Rows(16).EntireRow.Insert
Sheets("Feuil2").Range("A6:F6").Copy
Sheets("Feuil1").Range("A16").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End if
Mais le probleme c est que toutes ces reference de lignes change a chaque fois ....... comment faire...??
JE voudrais savoir comment avec du code, on peut retrouver une valeur précise dans une colonne....
A partir du choix d une valeur dans une cellule, il faudrait pouvoir retrouver le tableau correspondant dans une autre feuille de calcul, et y inserer des infos. LE probleme c Est qu a chaque ajout, la valeur des lignes vont changer a chaque fois. Au début j'avais écrit pour la macro du bouton "save":
If Sheets("Feuil2").Range("A6").Value = "Argentina" Then
Sheets("Feuil1").Rows(11).EntireRow.Insert
Sheets("Feuil2").Range("A6:F6").Copy
Sheets("Feuil1").Range("A11").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Else
Sheets("Feuil1").Rows(16).EntireRow.Insert
Sheets("Feuil2").Range("A6:F6").Copy
Sheets("Feuil1").Range("A16").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End if
Mais le probleme c est que toutes ces reference de lignes change a chaque fois ....... comment faire...??
A voir également:
- EXCEL VBA - Insertion de ligne a ref. variabl
- Aller à la ligne excel - Guide
- Partage de photos en ligne - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Formule somme excel ligne - Guide
3 réponses
Bonjour
demo
http://www.cijoint.fr/cjlink.php?file=cj201102/cijYvVqExA.xlsm
Michel
Option Explicit Sub inserer_svt_plant() Dim plant As String plant = Sheets(2).Range("A6") With Sheets(1) lig = .Columns("A").Find(plant, .Range("A1"), xlValues).Row + 3 Rows(lig).Insert Shift:=xlDown .Range(.Cells(lig, "A"), .Cells(lig, "F")) = Sheets(2).Range("A6:F6").Value End With End Sub
demo
http://www.cijoint.fr/cjlink.php?file=cj201102/cijYvVqExA.xlsm
Michel
excusez moi j ai oublier de vous mettre le fichier joint!! le voici!
http://www.cijoint.fr/cjlink.php?file=cj201102/cijai5GYI8.xlsx
merci encore
http://www.cijoint.fr/cjlink.php?file=cj201102/cijai5GYI8.xlsx
merci encore
J ai essayer de simplifier la boucle with, et ça marche bien aussi sans :
Plant_Name = Sheets(2).Range("D12").Value
d = Sheets(1).Columns("A").Find(Plant_Name).Row + 3
Sheets(1).Rows(d).EntireRow.Insert
Sheets(2).Range("D12").Copy
Sheets(1).Range("A" & d).PasteSpecial Paste:=xlPasteValues
MErci pour votre aide!
NB: les ref ci dessus n'ont plus rien a voir avec le fichier partagé!..)
Plant_Name = Sheets(2).Range("D12").Value
d = Sheets(1).Columns("A").Find(Plant_Name).Row + 3
Sheets(1).Rows(d).EntireRow.Insert
Sheets(2).Range("D12").Copy
Sheets(1).Range("A" & d).PasteSpecial Paste:=xlPasteValues
MErci pour votre aide!
NB: les ref ci dessus n'ont plus rien a voir avec le fichier partagé!..)
Bonjour,
"With- End with" n'est pas une boucle mais un bloc
et il faut autant que possible éviter les copy-paste
la dessus démo
https://www.cjoint.com/?3cuiVbgwcXX
je pars en rando : je te donnerai des adresses de tutos ce soir ou demain matin
"With- End with" n'est pas une boucle mais un bloc
et il faut autant que possible éviter les copy-paste
la dessus démo
https://www.cjoint.com/?3cuiVbgwcXX
je pars en rando : je te donnerai des adresses de tutos ce soir ou demain matin
nota:"Columns" est en fait une propriété de l'objet "range" ou "worksheets"