Insertion ligne par VBA

  • Initiateur de la discussion Initiateur de la discussion papypog
  • 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 !

papypog

XLDnaute Occasionnel
Bonjour,
Je dois dans un tableau faire insérer une ligne complète à partir d’une valeur choisie par l’utilisateur.
Le code ci-dessous fonctionne parfaitement pour décaler les cellules vers le bas mais n’insère pas la ligne complète.
Code:
Sub inser()
Sheets("2013").Select
Dim ligne
ligne = InputBox("Saisir le numéro de la ligne sous celle à insérer")
 Sheets(1).Range("A" & ligne & ":H" & ligne).Select
  Selection.Insert Shift:=xlDown
 Dim Retour As Integer
End Sub
Que faut-il changer à
Code:
Sheets(1).Range("A" & ligne & ":H" & ligne).Select
pour que ce soit non pas un décalage de cellules vers le bas mais la ligne complète qui soit insérée ?
 
Re : Insertion ligne par VBA

Salut papypog,

Code:
Sub inser()
  Sheets("2013").Select
  Dim ligne
  ligne = InputBox("Saisir le numéro de la ligne sous celle à insérer")
  Sheets(1).Range("A" & ligne & ":H" & ligne).EntireRow.Insert Shift:=xlDown
  Dim Retour As Integer
End Sub
Il faut sélectionner l'intégralité de la ligne pour que cela fonctionne. 🙂

Cordialement,
Mat'
 
Re : Insertion ligne par VBA

Bonjour le Forum

J'ai ce code :
Code:
Sub NouvelleLigne()
'
' Efface Macro
' Macro enregistrée le 30/07/2008 par 
'
ActiveWindow.SmallScroll ToRight:=1
    Columns("A:L").Select
    Range("L1").Activate
    ActiveWindow.Zoom = True
    'x = Range("N1").Value
    'x = Target.Row
    Range("O1:AA1").Select
    Selection.Copy
    Rows(x).Select
    Selection.Insert Shift:=xlDown
    Range("E" & x).Select

End Sub
Qui insert une ligne. En N1 j'ai la dernière ligne utilisé -> x = Range("N1").Value
Je voudrais insérer une ligne sous la ligne ou je suis, j'ai essayé -> x = Target.Row
Mais cela ne fonctionne pas.

Comment réaliser cela ?
Dominique
 
Dernière édition:
Re : Insertion ligne par VBA

Hello WDAndCo,

L'idéal aurait été de recréer un topic avec ton propre problème (bien qu'il soit indiscutablement lié à ce sujet de discussion). Seulement moins de gens vont venir t'aider puisqu'ils vont considérer que le sujet a déjà été traité au vue du nombre de réponses apportées.

Bref dans ton code il y a ces deux lignes :
Code:
Rows(x).Select
Selection.Insert Shift:=xlDown

Tu sélectionnes la ligne pour laquelle l'index vaut x (ta variable). Si tu veux ajouter une ligne juste avant celle que tu sélectionnes, il suffit simplement de sélectionner la ligne précédente non ?
Code:
Rows(x - 1).Select
Selection.Insert Shift:=xlDown

Cordialement, Mat'
 
- 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
3
Affichages
878
Retour