Récupérer les données de cellules fusionnées

Bonsoir à tous.

Je me suis résolu à demander votre aide parce que ça fait des nuits que je bute sur ce problème, en sachant que les cellules fusionnées, c'est pas ce qu'il s'est fait de mieux sur Excel!

Je voudrais trouver une macro qui, sur une plage donnée (B2:M2 dans mon exemple), me copie les valeurs contenues dans les cellules fusionnées, juste en dessous de celles-ci

Je joins le fichier pour que ce soit plus clair.

Merci d'avance pour vos contributions

106fusion.xlsx (8.07 Ko)

Bonjour,

Une proposition à tester :

Sub Test()
Dim Cel As Range
Dim Col As String
    For Each Cel In Range("B2:M2")
        Cel.Select
        If Selection.MergeCells = True Then
            Cells(3, Cel.Column) = Selection.Value
        End If
    Next Cel
End Sub

A+

frangy a écrit :

Bonjour,

Une proposition à tester :

Sub Test()
Dim Cel As Range
Dim Col As String
    For Each Cel In Range("B2:M2")
        Cel.Select
        If Selection.MergeCells = True Then
            Cells(3, Cel.Column) = Selection.Value
        End If
    Next Cel
End Sub

A+

Merci

Comme j'en suis vraiment aux tous premiers pas en VBA, c'est bien dans ThisWorkbook que je dois copier cette macro? Comment lui faire comprendre que cette macro doit s'appliquer à la feuille 1?

Voici un exemple de traitement par macro.

La procédure est placée dans un module standard.

La feuille sur laquelle s'applique le traitement est indiquée explicitement.

J'ai placé un Bouton de commande pour lancer la macro "Test" mais tu peux le faire directement via alt + F8.

A+

332fusion-1.xlsm (16.40 Ko)

Super, c'est exactement ce que je cherchais!

Merci beaucoup, je vais juste essayer de me passer du bouton

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

164essai-v1.xlsm (17.08 Ko)
gmb a écrit :

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

C'est également parfait, un grand merci. Je ne vais pas abuser, mais je voudrais ne pas passer par un bouton pour exécuter cette macro, je voudrais qu'elle s'exécute automatiquement, ou à la rigueur en utilisant l'actualisation F9 si je rajoute des données ultérieurement

Bonjour à tous

chokchman a écrit :

je voudrais ne pas passer par un bouton pour exécuter cette macro, je voudrais qu'elle s'exécute automatiquement, ou à la rigueur en utilisant l'actualisation F9 si je rajoute des données ultérieurement

Il y a plusieurs façons de faire fonctionner une macro en ‘’automatique’’

Cependant, je ne vois pas très bien comment y associer la touche F9 : mais, moi non plus, je ne sais pas tout !

Pour le cas qui nous intéresse, je vois plusieurs façons possibles mais chacune a ses inconvénients :

• à chaque activation de la feuille ‘’Feuil1’’. Tu es sur une autre feuille et tu cliques sur l’onglet ‘’Feuil1’’ : la macro se déclenche.

Mais ensuite, c’est fini. Si tu fusionnes une nouvelle zone, il te faudra passer sur une autre feuille et revenir à la Feuil1 pour la mettre à jour

• à chaque clic sur une cellule, n’importe où ou sur une zone prédéfinie : cela peut devenir pénible si tu dois apporter beaucoup de modifications à ta feuille

• à chaque validation du contenu d’une cellule. Là aussi, cela risque de vite devenir pénible surtout si le résultat n’est pas instantané.

• à chaque double clic sur une cellule, prédéfinie ou pas. Mais là, ce n’est pas vraiment automatique, et c’est l’équivalent d’un bouton.

Laquelle de ces méthodes choisis-tu ?

gmb a écrit :

Bonjour à tous

chokchman a écrit :

je voudrais ne pas passer par un bouton pour exécuter cette macro, je voudrais qu'elle s'exécute automatiquement, ou à la rigueur en utilisant l'actualisation F9 si je rajoute des données ultérieurement

Il y a plusieurs façons de faire fonctionner une macro en ‘’automatique’’

Cependant, je ne vois pas très bien comment y associer la touche F9 : mais, moi non plus, je ne sais pas tout !

Pour le cas qui nous intéresse, je vois plusieurs façons possibles mais chacune a ses inconvénients :

• à chaque activation de la feuille ‘’Feuil1’’. Tu es sur une autre feuille et tu cliques sur l’onglet ‘’Feuil1’’ : la macro se déclenche.

Mais ensuite, c’est fini. Si tu fusionnes une nouvelle zone, il te faudra passer sur une autre feuille et revenir à la Feuil1 pour la mettre à jour

• à chaque clic sur une cellule, n’importe où ou sur une zone prédéfinie : cela peut devenir pénible si tu dois apporter beaucoup de modifications à ta feuille

• à chaque validation du contenu d’une cellule. Là aussi, cela risque de vite devenir pénible surtout si le résultat n’est pas instantané.

• à chaque double clic sur une cellule, prédéfinie ou pas. Mais là, ce n’est pas vraiment automatique, et c’est l’équivalent d’un bouton.

Laquelle de ces méthodes choisis-tu ?

Merci d'avoir pris le temps de vous pencher sur le sujet. Effectivement, quand je vois les 4 possibilités, elles sont toutes contraignantes et risquent de s'avérer inutilisables sur u tableau très chargé où on ajoute beaucoup de données et souvent.

Je crois que je vais opter pour le bouton finalement

J'avais juste évoqué le F9 parce qu'il me semble que c'est le bouton qui actualise le classeur et qui affiche les résultats de formules quand on vient de rajouter des données

Bonsoir à tous,

Je tenais à vous demander votre aide car mais connaissances sont très limitées en Macro.

Malgré la solution proposée par frangy qui fonctionne très bien, je reste bloquer de mon coté.

En effet me concernant la plage de données fusionnées concernées seraient en colonne et non en ligne (B2:B6 par ex), et la copie des valeurs contenues dans les cellules fusionnées, juste à coté (en colonne C)

Merci par avance pour votre aide

Rechercher des sujets similaires à "recuperer donnees fusionnees"