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

XL 2021 Insertion ligne sous condition

Rabeto

XLDnaute Occasionnel
Bonjour,

j'ai tenté de chercher une solution mais je n'y arrive pas à insérer une ligne automatiquement sous une condition, si quelqu'un peut m'aider

l'objectif est soit :
- Insérer une ligne dans le tableau après chaque lettre F du colonne F
ou
- Insérer une ligne si la date est différent

merci
 

Pièces jointes

  • Inserer Ligne.xlsx
    26.6 KB · Affichages: 6

Phil69970

XLDnaute Barbatruc
Bonjour @Rabeto

ou
- Insérer une ligne si la date est différent

1) La date est différent de quoi ???

Insérer une ligne dans le tableau après chaque lettre F du colonne F
2) donc chaque fois qu'il y a la lettre F colonne F on insère 1 ligne juste en dessous ?

3) De plus la séquence colonne F est elle TOUJOURS la même ou est ce un hasard que les lettres se suivent et se répètent ???

4) Et si la date est différentes (de quoi voir question 1 ) ET lettre F on fait quoi on rajoute 2 lignes ?

==> 4 questions ==> 4 réponses attendues
 

Rabeto

XLDnaute Occasionnel
Je pense avoir trouvé en se basant sur la date, dès que la date change insérer une ligne

Sub Inserer()
Dim dates As Long, i As Long
With Sheets("Feuil2")
dates = .Range("A" & Rows.Count).End(xlUp).Row
For i = dates To 2 Step -1
If Left(.Cells(i, 5), 5) <> Left(.Cells(i - 1, 5), 5) Then .Rows(i).EntireRow.Insert
Next i
End With
End Sub
 

Rabeto

XLDnaute Occasionnel

re Phil69970


1) La date est différent de quoi ???
Il y a 6 lignes avec les mêmes date, et à la 7e ligne la date change, Donc inséré une ligne dès que la date change

2) donc chaque fois qu'il y a la lettre F colonne F on insère 1 ligne juste en dessous ?
Oui

3) De plus la séquence colonne F est elle TOUJOURS la même ou est ce un hasard que les lettres se suivent et se répètent ???
Oui la séquence colonne F est tjr la même (C'est à dire à la 6e ligne)

4) Et si la date est différentes (de quoi voir question 1 ) ET lettre F on fait quoi on rajoute 2 lignes ?
Pas possible qu'il y a une différence, car F représente la dernier ligne (dernière date avant qu'elle change)
 

piga25

XLDnaute Barbatruc
Bonjour à tous,
Afin de ne pas rajouter plusieurs lignes en répétant l'opération voir cela:
On ajout une ligne en dessous de F et juste au dessus de A (deux conditions)

VB:
Sub Insertion()
Dim i&
Application.ScreenUpdating = False
For i = Range("F" & Rows.Count).End(xlUp).Row To 1 Step -1
  If Cells(i, 6) = "F" And Cells(i + 1, 6) = "A" Then
    Rows(i + 1).Insert
  End If
Next
End Sub
 

Phil69970

XLDnaute Barbatruc
Re

Bonjour @piga25

Ton code n'est pas un code pour TS et c'est toute la ligne qui est insérée alors que mon code c'est seulement les lignes à l’intérieur du TS qui sont rajoutées .



Et avec mon code les lignes à l'extérieur du TS ne sont pas modifiées et donc tout ce qui se trouvent dans les colonnes X et suivantes ne sont pas impactées

 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…