Dissocier des cellules fusionnées

Bonjour,

Une extraction de données provenant d'un outil de gestion sur lequel je n'ai aucune maîtrise me fournit un fichier Excel peu confortable : plusieurs rubriques apparaissent dans des cellules fusionnées - voir le fichier joint, version Excel 2003.

Pour traiter ce fichier, j'ai besoin de dissocier les cellules et de supprimer les colonnes inutiles, tout en conservant le contenu de la ligne de titres.

Cette action doit se faire par macro VBA, que j'intérerai dans une macro plus complète que j'ai trouvée sur le forum.

Merci pour vos conseils

135dissocier.xls (19.50 Ko)

Salut,

Voici un code créé en grande partie avec l'enregistreur de macro :

Sub Macro1()
    Cells.MergeCells = False
    Range("C:C,D:D,F:F,G:G,H:H,I:I,J:J,L:O").Delete Shift:=xlToLeft
    Columns("A:D").EntireColumn.AutoFit
    Range("A1").Select
End Sub

Cordialement

Bonjour,

Merci pour cette réponse quasi instantanée.

La macro marche tout à fait bien sur l'exemple fourni mais ....

En réalité mon fichier contient beaucoup plus de colonnes. J'ai maintenant deux questions complémentaires.

1. Comment est-ce que je peux adapter la macro pour que les colonnes vides soient automatiquement repérées et supprimées

2. Par sécurité, je voudrais conserver la feuille d'origine et copier son contenu en feuille 2 avant de "faire le ménage"

Pour l'instant mes tentatives en VBA se soldent par de la frustration. je ne comprend même pas les messages d'erreur que génèrent mes différentes tentatives.

Je suis preneur de toute suggestion.

patrickoyster a écrit :

mais .... En réalité mon fichier contient beaucoup plus de colonnes.

Problème bien connu, on fourni un fichier exemple mais ... il ne correspond pas à la réalité

Tes "colonnes vides" sont-elles toujours aux mêmes endroits ou ça varie ??? Si c'est toujours aux mêmes endroits, quelles colonnes doivent être supprimées à chaque fois ?

L'idéal serait bien entendu d'avoir un fichier exemple réel à disposition, même avec des données "anonymisées".

Une sauvegarde préalable de la feuille n'est pas si compliquée. On verra ça le moment venu

A te relire.

Bonjour de Lausanne, ce qui explique que les adresses et numéros de téléphone te seront sans doute familiers.

Je comptais sur une découverte plus facile de VBA pour passer de mon fichier exemple à mon fichier réel.

Voici donc le fichier réel anonymisé. D'après ce que je reçois, les colonnes vides sont toujours les mêmes. Il suffit donc de les ajouter dans le code que tu m'a proposé.

Par contre, pour mon apprentissage personnel, je voudrais savoir comment faire pour repérer ces colonnes vides via VBA.

Merci et à bientôt

65dissocier2.zip (10.01 Ko)

Re,

Je reconnais même plusieurs numéros de téléphone

patrickoyster a écrit :

D'après ce que je reçois, les colonnes vides sont toujours les mêmes. Il suffit donc de les ajouter dans le code que tu m'a proposé.

Dans le fichier ci-joint, ça correspond à la macro 1.
patrickoyster a écrit :

Par contre, pour mon apprentissage personnel, je voudrais savoir comment faire pour repérer ces colonnes vides via VBA.

Si tu ne connais ni le nombre de colonnes possibles, ni quelles colonnes sont vides ou non, il faudrait utiliser la macro 2.

Certaines parties de ces deux codes sont semblables. J'ai indiqué dans les codes "Variante 1" et "Variante 2" afin de montrer quelle partie diffère.

Je ne sais pas pourquoi la largeur de la colonne A ne peut pas être corrigée automatiquement comme les autres colonnes. Je l'ai donc traité "manuellement"

Cordialement.

98dissocier-v3.zip (17.24 Ko)

Bonjour,

Merci pour ce coup de pouce. Je vais pouvoir avancer et, peut être, pouvoir compléter et adapter ce que je commence à comprendre du VBA.

A une prochaine demande.

Rechercher des sujets similaires à "dissocier fusionnees"