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

Insertion lignes en fonction d'un contenu

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

Z

zelgrif

Guest
Bonjour à tous,

J'ai cherché sur le forum si un post pouvait contenir des éléments de réponse à mon problème sans succès... Je vous pose donc la question.
J'ai un tableau dans lequel je dois insérer des lignes en fonction du contenu des celulles d'un colonne. Manuellement, je fais clic droit et insertion de nombreuses fois.
Une macro est elle capable de faire des insertions répétées dès lors que le contenu de la colonne concernée change ?
Je vous joins le tableau de base à modifier, et le résultat que je souhaiterais obtenir.
En espérant que quelqu'un puisse m'apporter ses lumières !

Merci d'avance

Olivier

PS : les fichiers exemples ont été amputés du fait de leur taille pour que vous puissiez en disposer, tableaux qui contiennent environ 1200 lignes, donc demandant environ une centaine d'insertion chaque fois.
 

Pièces jointes

Re : Insertion lignes en fonction d'un contenu

bonjour zelgrif, peux tu nous dire sur quel critère doit-on se baser pour savoir s'il faut ou non insérer des lignes ?

au temps pour moi, je viens de trouver : dès que la référence change dans la première colonne, tu inséres une ligne pour délimiter ce changement de référence, j'ai bon ?
 
Re : Insertion lignes en fonction d'un contenu

C'est en fonction de la colonne A, qui est un numéro d'agence, et il faut insérer une ligne dès qu'on change de numéro d'agence.

Merci de ton intérêt 🙂
 
Re : Insertion lignes en fonction d'un contenu

Salut Zelgrif et grodep,

grodep ton code bug pour les entrées à la fin de la liste, les séparations ne se font pas au bon endroit et il y en a une de trop.

Voici ma suggestion :
Code:
Private Sub CommandButton1_Click()
Dim var2 As Integer
Dim var As String
On Error GoTo handler
var2 = [COUNTA(A1:A900)]
var = Range("A" & var2).Value
varorigine = Range("A" & var2).Value
Range("A" & var2).Select
While ActiveCell <> ""
If ActiveCell = var Then
ActiveCell.Offset(-1, 0).Select
var2 = var2 - 1
Else
If var = varorigine Then
var2 = var2 + 1
Else
var2 = var2
End If
Rows(var2 & ":" & var2).Select
Selection.Insert Shift:=xlDown
    Range("A" & var2 & ":" & "I" & var2).Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = True
        .ReadingOrder = xlContext
        .MergeCells = True
    End With
    Range("A" & var2).Value = "N° Ag." & var
    ActiveCell.Offset(-1, 0).Select
var = ActiveCell.Value
End If
Wend
handler: Exit Sub
End Sub

Seule chose est que si tu repasse ce code une deuxième fois, ton tableau sera foutu. Tu devras ajouter des conditions.
 
- 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

S
Réponses
4
Affichages
869
simsinaty
S
N
Réponses
5
Affichages
3 K
Nicocotte125
N
L
Réponses
7
Affichages
4 K
lilidxb
L
G
Réponses
2
Affichages
1 K
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…