insertions de lignes en VB vers le bas

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

J

josias

Guest
Bonjour a tous !

Comment fait-on, en VB, pour inserrer une ligne dans un tableau EXCEL vers le bas !

J'ai essayé ce code mais ça marche pas:

ex:

Rows("21:21").Select
Selection.Insert Shift:=xlDown

Merci de votre attention !
 
Bonjour

Quand tu inséres la ligne s'insères au dessus
Ton xldown n'indique pas que tu insères ta ligne an dessous de la ligne 21 mais que tes données seront décaler vers le bas

Il faut donc sélectionner la ligne 22

Bon courage

Pascal
 
Merci Yeahou !

C'est pas que ça fonctionne pas mais , dans cet exemple, la ligne 21 devient la ligne 22 avec toute ses données alors que je voudrais que la ligne 21 reste 21 et que la ligne 22 soit "vierge" ...

Je sais pas si j'ai été clair....

Dans tous les cas merci quant même....
 
Pour ajouter une ligne en code dans une colone il faut :

dans un premier temps savoir quelle est la dernier cellule non vide

ensuite descendre d'une cellule

et inserer ta donnee

dim nextrow as long
dim row as long

Nextrow = Feuille.Range("A65536").End(xlUp).row 'definit dans ta feuille quelle est la derniere cellule non vide de la colonne A en partant de la ligne 65536
Range("A4:A" & Nextrow).Select 'par exemple tu fais un copietr
Selection.Copy ' et ensuite un coller

Bon courrage

Fred
 
Salut à vous,

Je ne sais pas ce qui ce passe les derniers temps, on dirait que mes doigts ont grossis !

Je suis ce post depuis le début, car il m'intéresse.

J'ai enregistré une petite macro qui insère une ligne au-dessus de la ligne sélectionnée, copie le contenu de la ligne précédente (pour copier les formules), sélectionne les constantes dans la ligne copiée et les effacent.

Selection.EntireRow.Insert
Range("A15:G15").Select
Selection.AutoFill Destination:=Range("A15:G16"), Type:=xlFillDefault
Range("A15:G16").Select
Rows("16:16").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Range("A16").Select

Je souhaite modifier les références aux cellules (A15:G15) par la référence de la ligne dans laquelle une cellule a été sélectionnée, de sorte que cette macro soit d'application à n'importe quel endroit de ma feuille.

Pouvez-vous me dire comment je dois procéder ?

Merci d'avance.
Ândré.
 
Bonjour le fil

André si je t'ai bien bien compris,

Déclare une variable en début de Sub

Dim vLigne as Long

avant la troisème ligne tu insères
vLigne = ActiveCell.row
Selection.AutoFill Destination:=Range("A"& vLigne&":G"& vLigne), Type:=xlFillDefault

Il y a aussi cette propriété de l'objet applicatiion
Application.ExtendList = False
Cet exemple montre comment faire en sorte que Microsoft Excel n'applique pas les formats et formules aux données ajoutées ultérieurement à une liste existante.

@+Jean-Marie
 
Re...

Application.ExtendList, déclaré à True, Indique à Excel de rajouter les formules et les formats quand une nouvelle donnée est saisie à la fin d'un tableau. Cela ne fonctionne pas lors d'une insertion de ligne.

@+Jean-Marie
 
Salut Jean-Marie,

Merci beaucoup, mais cela dépasse mes compétances.
Je n'y connais rien en macro et malgré tes explications et mes diverses tentatives, je ne suis pas parvenu à la faire fonctionner !

Ce que j'essaie de faire est d'insérer une ligne et d'y copier uniquement les formules de la ligne précédente.

Par l'enregisteur macro cela marche, mais uniquement pour une ligne bien précise.
Je crois que je devrais remplacer les références de type A1 par des L()C(), mais je ne parviens pas un bon résultat.

Pourrais-tu m'expliquer un peu plus en détail ?
Merci.

Ândré.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
576
Réponses
5
Affichages
716
Retour