Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insertion automatique de ligne selon une valeur

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

T

Titoy

Guest
Bonjour à tous,

Je voudrais insérer automatiquement un nombre de ligne X en fonction d'une valeur X tapé dans une cellule et cela de manière relative ( si je tape 4 en B5 je voudrais 4 ligne qui s'insère automatiquement en de dessous de de la ligne 5 et idem en B12)

Le soucis est que je ne connais pas le code VBA me permettant de réussir ce petit tour de passe passe ! 😕

MErci d'avance

Bon courage et bonne fin de journée

TONY
 
Re : Insertion automatique de ligne selon une valeur

Bonjour,
Bonjour à tous,
Je voudrais insérer automatiquement un nombre de ligne X en fonction d'une valeur X tapé dans une cellule et cela de manière relative
Si tu ne limites pas la plage de cellules, tu risques d'en insérer un wagon ! A moins que la valeur soit particulière
(si je tape 4 en B5 je voudrais 4 ligne qui s'insère automatiquement en de dessous de de la ligne 5 et idem en B12)
B12, c'est au pifomètre ou s'agit-il de la cellule située 7 cellules plus bas (B5 et B12)
A+
kjin
 
Re : Insertion automatique de ligne selon une valeur

En fait, je pense établir un système de liste de choix allant de 1 à 10 pour le nombre de ligne à insérer.La liste de choix sera colonne " G "

Ensuite, les lignes à insérer peuvent être insérées partout,

Je joint un fichier qui sera peux être plus parlant que mes explications,

Merci
 

Pièces jointes

Re : Insertion automatique de ligne selon une valeur

Re,
Tu ne précises pas si c'est une ligne complète qu'il faut insérer
Dans le module de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 And Target.Row > 12 Then
    For i = 1 To Target
        Target.Offset(1, 0).EntireRow.Insert
        Target = ""
    Next
End If

End Sub
A+
kjin
 
Re : Insertion automatique de ligne selon une valeur

Bonjour Kjin,

Alors j'ai essayé de comprende le code que tu as écrit et voila ce que je pense avoir compris:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 7 And Target.Row > 12 Then
CIble en colonne 7 en l'occurence G et ???
For i = 1 To Target
Target.Offset(1, 0).EntireRow.Insert
Pour i=1 on insère une ligne
Target = ""
Si la cellule est vide on fait rien
Next
End If

End Sub

Je crois avoir déchiffrer le code correctement si je me trompe pas,

Le petit soucis est que lorsque je met une valeur colonne 7
Il me dit que i n'est pas définie,

Alors je pense que je doit mettre un truc du genre DIm i quelque chose
au début de la macro, mais la je suis bloqué,

Existe t-il un tuto ou toutes les fonction VBA sont expliqué ? J'ai pas trouvé sur XLD. Peut être j'ai mal cherché,


Sinon, en cherchant un peu partout j'ai retouvé cette discution du 16-12-2002

Discution de 2002

Peux être que le système Case X Call macroX (insère X ligne ) pourrait m'être utile ? J'ai testé mais le soucis est que la fonction bloc quand je met plusieur case

MErci d'avance

A+

TONY
 
Re : Insertion automatique de ligne selon une valeur

Bonjour,
J'ai la mauvaise et fâcheuse habitude de ne pas indiquer les variables, et tu as raison, si tu es en mode déclaration des variables obligatoire (option explicit en tête de module) VBA t'indique que i n'est pas déclaré et c'est normal
Donc modifie comme suit et j'ajoute un commentaire
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i as Long 'déclaration de la variable i
If Target.Column = 7 And Target.Row > 12 Then 'si colonne = G et la ligne > 12
    For i = 1 To Target 'boucle de 1 à la valeur saisie
        Target.Offset(1, 0).EntireRow.Insert 'pour insérer une ligne complète sous la cellule
        Target = "" 'on vide la cellule qui ne sert plus (on ne la supprimme pas)
    Next 'incrémentation
End If

End Sub
A+
kjin
 
- 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
545
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…