XL 2010 Insérer une ligne avec un numéro variable

  • Initiateur de la discussion Initiateur de la discussion ludOw
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ludOw

XLDnaute Nouveau
Bonjour.

Je ne parviens pas à trouver la réponse dans le forum, ici ou ailleurs sur le net, pourtant je suis certain qu'elle est relativement simple.

J'ai besoin de développer une macro qui insère une ligne copiée à partir d'une feuille (feuille 1 disons) vers un numéro de ligne variable sur une autre feuille (feuille 2 disons).

Faute de pouvoir le faire... j'ai choisi la ligne 150... mais il faudrait en réalité le remplacer par ma variable.

J'ai déjà ma variable dans une cellule, mais je n'arrive pas à l'intégrer à ma macro VBA.

La voici (si ça peut vous aider...) :

Rows("2:2").Select
Selection.Copy
Sheets("PasToucher").Select
Rows("150:150").Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
 
Bonjour ludOw, bienvenue sur XLD,

Vous n'avez pas beaucoup cherché car copier/insérer une ligne est archi-classique :
VB:
Sub Test()
Dim lig1&, lig2&
lig1 = 2 'à adapter
lig2 = 150 'à adapter
Feuil2.Rows(lig2).Insert
Feuil1.Rows(lig1).Copy Feuil2.Rows(lig2)
End Sub
Apprenez qu'en VBA les Select sont en général inutiles, voire nuisibles.

A+
 
Merci pour la réponse.

J'imagine qu'elle me paraîtra évidente d'ici à ce que je me forme sur VBA. (quelques semaines minimum)

Pour l'heure je ne maîtrise que partiellement le code VBA. Je passe donc exclusivement par l'outil "enregistrer" une macro. D'où les "select" apparents.

J'ai beau trifouiller, dans la mesure où pour le moment je ne comprend que très partiellement le langage VBA, je ne parviens pas à adapter la réponse à mon fichier.

Le plus simple pour que je puisse comprendre plus rapidement, est de vous donner les 3 variables.


La feuille 1 s'appelle "Créer une fiche"
--La ligne à copier est la numéro 2

La feuille 2 s'appelle "PasToucher"
--Le numéro de ligne où la sélection doit être collée est variable. (en bas d'un tableau).

J'ai déjà mon numéro variable... inutile d'intégrer dans VBA quelque chose lié au tableau...

La cellule qui indique le numéro de ligne sur laquelle insérer le tout est en"créer une fiche!$A$10"

La macro en question s'appelle "Teeeeeeeeeeeeest". ELle contient d'autres actions qui se situent après l'insertion de ligne...


Mon fichier est trop volumineux pour intégrer le message. Je vous met un lien si besoin.

Voici comment je l'ai adapté, mais ça ne fonctionne pas.

Là encore j'imagine que trouver l'erreur est surement très simple.


Sub Teeeeeeeeeeeeest()
Dim lig1&, lig2&
lig1 = 2 'à adapter
lig2 = Range(a10) 'à adapter
Sheet("PasToucher").Rows(lig2).Insert
Sheet("Créer une fiche").Rows(lig1).Copy Sheet("Créer une fiche").Rows(lig2)
End Sub

https://transfernow.net/11chz461pid8

Merci d'avance.

=D
 
Dernière édition:
VB:
Sub Teeeeeeeeeeeeest()

Dim lig1&, lig2&

lig1 = 2 'à adapter
lig2 = Sheets("Créer une fiche").Range("A10") 'à adapter
Sheets("PasToucher").Rows(lig2).Insert
Sheets("Créer une fiche").Rows(lig1).Copy Sheets("PasToucher").Rows(lig2)

'---suite du code---

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
455
Réponses
2
Affichages
468
Retour