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
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 SubA+
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 SubA+
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+
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 !
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