Macro extraction data avec cellules fusionnées

Bonjour !

Je reviens avec un autre problème à soumettre.

J'ai un fichier excel de base, dont je souhaiterais faire une "extraction" de certaines colonnes pour l'envoyer à un collègue. Le problème est la présence de cellules fusionnées qui ne permet pas la copie, du coup je suis bloqué :/

J'ai cherché un peu partout, mais sans doute mal car pas de solutions trouvées

Dans le fichier en PJ, je souhaite juste :

1. Faire un filtre de mon tableau via la colonne ST9 en retirant les vides

2. Copier uniquement les colonnes ou j'ai mis "x" dans la première ligne (en pratique, ligne masquée), en partant de A5 jusqu'à l'infinité et l'au-delà...

3. Coller le tout dans un autre fichier en gardant le mise en page.

Merci pour vos indications les amis !

Olivier

15classeur1.xlsx (18.32 Ko)

Bonjour

Le problème est la présence de cellules fusionnées qui ne permet pas la copie, du coup je suis bloqué :/

Et oui, je le dis au moins 1 x la semaine, évitez les cellules fusionnées. Cela n'apporte que des soucis

Dans votre fichier défusionnez la ligne 6 et 7, cela n'apporte rien de plus. Si c'est pour une belle présentation agrandissez la ligne 6

Essayez déjà avec ce code (attention si vous défusionnez les lignes6 et 7, mettez 7 à la place de 8 dans le code) :

Sub Macro1()
'Dan - 07/04/17 pour Sebol0187
ThisWorkbook.ActiveSheet.Copy After:=Sheets(1)
With ThisWorkbook.ActiveSheet
    For i = .Range("A" & .Rows.Count).End(xlUp).Row To 8 Step -1
        If .Range("I" & i) = "" Then Rows(i).Delete
    Next i
    .Range("A:H").EntireColumn.Delete
    .Range("K:L").EntireColumn.Delete
    .Move
End With
End Sub

Le code va faire le ménage dans votre feuille, puis déplacera votre feuille dans un nouveau classeur qu'il vous suffira de renommer

Si ok et terminé veillez à cocher la case verte à coté du bouton EDITER pour cloturer le fil lors de votre réponse

Cordialement

Bonjour à tous

Une variante.

Bye !

10classeur1-v1.xlsm (33.68 Ko)

Merci pour votre rapidité !

La macro fonctionne super, merci +++

Ci-dessous le code complet

    Sub Macro1()
    'Dan - 07/04/17 pour Sebol0187
    ThisWorkbook.ActiveSheet.Copy After:=Sheets(1)
    With ThisWorkbook.ActiveSheet
        For i = .Range("A" & .Rows.Count).End(xlUp).Row To 8 Step -1
            If .Range("I" & i) = "" Then Rows(i).Delete
        Next i
        .Range("1:4").EntireRow.Delete
        .Range("B:H").EntireColumn.Delete
        .Range("K:L").EntireColumn.Delete
        .Move
    End With
    End Sub

Edit : Petit souci : les lignes vides en I sont également supprimés du fichier source, alors que je veux les conserver dans le fichier source et les supprimer dans le fichier d'extraction :/

Re

Oups désolé.

Mettez juste un point devant ROW(i)

Cordialement

C'est super, ce petit point a tout changé !

Une dernière et après j'arrête de vous embêter promis. Quand j'utilise la macro dans une classeur avec une feuille, pas de problème. Quand je l'utilise dans un classeur avec plusieurs feuilles et la même construction pour chacune, j'ai une erreur 400 sans précision.

Re

En principe vous ne devriez pas avoir de problème. Mais il me faudrait savoir comment vous procéder

Vous repartez toujours de la même feuille ??

Cordialement

Rechercher des sujets similaires à "macro extraction data fusionnees"