Exclure deux lignes quand la seconde commence par #

Résolu
dhaze Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Cette macro duplique toutes les lignes.
Au début de la seconde ligne elle ajoute, entre autre, un # dans la colonne A.

Le but est de créer une liste de documents sonores doubles-faces à partir d'une liste de simples-faces.

Mais voilà, tout serait trop simple...

Il arrive qu'il existe déjà des doubles-faces dans une liste.

Je voudrais donc exclure de ma boucle ces deux lignes quand la seconde commence par un #

    Dim Collone_Repertoire, Colone_Titre, Collone_Face, Collone_Nom As Integer
    Dim Derniere_Ligne As Long

        Collone_Repertoire = Rows(1).Find("Repertoire", , , , xlByRows, xlPrevious).Column
        Colone_Titre = Rows(1).Find("Titre", , , , xlByRows, xlPrevious).Column
        Collone_Face = Rows(1).Find("Face", , , , xlByRows, xlPrevious).Column
        Collone_Nom = Rows(1).Find("Nom de fichier", , , , xlByRows, xlPrevious).Column
        Derniere_Ligne = Columns(Collone_Repertoire).Find("*", , , , xlByColumns, xlPrevious).Row
    
    For n = Derniere_Ligne To 2 Step -1
        If Cells(n, Collone_Repertoire) <> "#" Then
            Rows(n & ":" & n).Select
            Application.CutCopyMode = False
            Selection.Copy
            Selection.Insert Shift:=xlDown
            Range("A" & n + 1 & ":G" & n + 1).Select
            Selection.ClearContents
            Range("A" & n + 1) = "#"
            Range("F" & n + 1) = "#"
            Cells(n, Collone_Nom).Select
            ActiveCell.FormulaR1C1 = Cells(n, Collone_Repertoire).Value & "_A"
            Cells(n + 1, Collone_Nom).Select
            ActiveCell.FormulaR1C1 = Cells(n, Collone_Repertoire).Value & "_B"
            Cells(n, Collone_Face) = "A"
            Cells(n + 1, Collone_Face) = "B"
            Cells(n + 1, Colone_Titre).Interior.color = 255
        End If
    Next


Merci pour vos lumières...

Lo.

3 réponses

  1. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonsoir,

    sans fichier pour tester, et en considérant que ta procédure fonctionne correctement, pour ajouter la gestion des # existant dans ta base, je tenterais simplement d’ajouter un Else à ton If pour décrémenter ton indice de boucle n=n-1.

    cordialement
    0
  2. dhaze Messages postés 113 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour JvDo,

    Merci pour ta réponse.
    Effectivement ce serait plus simple avec un fichier, que voici :

    https://www.cjoint.com/c/GCbltzuJ4nX

    J'ai de grosses lacunes dans la rédaction des actions à exécuter dans une boucle, je bute souvent là-dessus !

    Lo.
    0
  3. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour,

    C'est bien ça, tu fais exactement ce que j'ai dit dans ma proposition.

    Cordialement

    PS : tes noms de variables et de feuilles sont vrémant mal aurtografiet
    0