Microsoft 365 modifier des lignes

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

bobafric

XLDnaute Occasionnel
Bonjour, j’ai un tableau excel dans lequel les lignes de renseignements se dédoublent. Sur mon fichier joint on peut voir que la ligne B4 est la suite de B3, B8 celle de B7 etc.

Je voudrai que les données de la ligne B4 soit à la suite de B3 et supprimer la ligne 4, et ainsi de suite. Noter que ce problème ne se pose pas pour toute les lignes du tableau.

Merci d’avance pour votre aide
 

Pièces jointes

Bonjour Bobafric,
Un essai en PJ avec :
VB:
Sub Concaténer()
    Application.ScreenUpdating = False
    Dim DL%, L%
    DL = Cells(Cells.Rows.Count, "B").End(xlUp).Row
    For L = DL To 2 Step -1
        If Cells(L, "C") = "" And Cells(L, "D") = "" Then   ' Ligne vide à concaténer
            Cells(L - 1, "B") = Cells(L - 1, "B") & "  -  " & Cells(L, "B")
            Rows(L).Delete Shift:=xlUp                      ' Suppression ligne
        End If
    Next L
    Columns.AutoFit
    Range("A2:D" & DL).Interior.Color = xlNone
End Sub
NB: La feuille "Pour test" et le bouton correspondant ne sont là que pour faire des tests en rapatriant les données d'origine en feuille 1.
 

Pièces jointes

Le vert sert à remonter la solution juste après votre demande pour aider le futur lecteur.
Soit vous mettez le bon post, soit vous retirez ce vert, sinon cela donne :
1759581358175.png

Et la solution n'est pas "C'est impeccable" 😅
 
Bonjour,

Avec du retard et pour le plaisir de faire des formules
=ASSEMB.H(FRACTIONNER.TEXTE(CONCAT(SI(A2:A26<>"";CAR(30);" ")&A2:A26&SI(A2:A26<>"";CAR(29);"")&B2:B26);CAR(29);CAR(30);VRAI);FILTRE(C2:26;(C2:C26<>"")+(D2:26<>"")))

La même avec une seul partie à adapter
=LET(p;A2:26;c_1;INDEX(p;0;1);ASSEMB.H(FRACTIONNER.TEXTE(CONCAT(SI(c_1<>"";CAR(30);" ")&c_1&SI(c_1<>"";CAR(29);"")&INDEX(p;0;2));CAR(29);CAR(30);VRAI);FILTRE(CHOISIRCOLS(p;3;4);(INDEX(p;0;3)<>"")+(INDEX(p;0;4)<>""))))
 
- 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
75
Affichages
1 K
  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
271
Réponses
3
Affichages
303
Réponses
10
Affichages
330
Réponses
53
Affichages
868
Retour