Fusionner une plage entre deux variables

Fermé
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 - 23 nov. 2021 à 14:49
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 - 10 déc. 2021 à 15:59
Bonjour,

J'essaye de fusionner l'espace situé entre deux variables, mais en vain ..

Voilà ma démarche :

Dim mergeA As Range, mergeB As Range

Sheets("References crees").Select

Set mergeA = Sheets("References crees").[E4]


Set mergeB = Sheets("References crees").[E10]

Range(mergeA, mergeB).Merge




J'obtiens l'erreur suivante :
Run-time error '1004' :

Application-defined or object-defined error.

Merci d'avance pour votre aide !

Bonne journée !
A voir également:

2 réponses

yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
23 nov. 2021 à 15:21
bonjour,
A quelle ligne as-tu cette erreur?
Peux-tu fusionner sans problème à la main?
1
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 10
23 nov. 2021 à 15:39
Merci pour la réponse !

J'ai l'erreur au niveau du .Merge

Oui aucun souci pour fusionner à la main ou pour fusionner en remplaçant les variables par une intervalle simple "E4:E10" ...
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023
23 nov. 2021 à 18:06
peux-tu partager to fichier?
0
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 10 > yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
24 nov. 2021 à 16:01
Bonjour,

Impossible de partager le fichier malheureusement (données sensibles) ..

J'ai donc recréé le fichier et cela fonctionnait ^^

A priori l'erreur venait simplement d'un blocage de la feuille (j'ai un .unprotect au début et un .protect en fin de macro).

Par contre chose bizarre, lorsque la feuille est bloquée et que je lance la macro, cela fonctionne mais très lentement.
Tandis que lorsque je débloque manuellement la feuille et que je lance la macro, celle ci fonctionne très rapidement ...

Y-a-t'il une explication et un remède ?

Merci !
0
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 10 > yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
Modifié le 24 nov. 2021 à 16:07
Pour illustrer le problème voilà le fichier.

https://wetransfer.com/downloads/bb65f8a27c9b6ee7c4559ed23298076120211124150633/6bd474

Je te laisse essayer une première fois en enlevant la protection de la feuille "references crees" manuellement.

Puis réessayer derrière.

Aussi, le total (TT) ne s'affiche pas ...
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023
24 nov. 2021 à 16:52
Aucun soucis en exécutant la macro sans protéger, c'est quasi instantané.
Je vois aussi que le fichier a un lien vers un autre fichier.
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
23 nov. 2021 à 15:22
Bonjour,

comme ceci:


Sheets("References crees").Range("E4", "E10").MergeCells = True


1
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 10
23 nov. 2021 à 15:40
Merci pour la réponse, mais le but est de pouvoir fusionner en fonction des variables.
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023
23 nov. 2021 à 16:22
et cela:

Range(mergeA, mergeB).MergeCells = True


@+
0
farreneit Messages postés 282 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 13 janvier 2023 10 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
23 nov. 2021 à 17:27
Comme ça cela fonctionne, merci.

Malheureusement cela bloque à un autre niveau.

Mes variables dépendent en fait d'autres variables :

Dim mergeA As Range, mergeB As Range

Dim Cible As Range

Sheets("References crees").Select

Set Cible = Sheets("References crees").[E4]

Set mergeA = Cible.Offset(, 1)

Set mergeB = Cible.Offset(5)

Range(mergeA, mergeB).Merge




J'obtiens le code d'erreur :
Unable to set the MergeCells property of the Range Class ...

Merci encore
0