Fusionner une plage entre deux variables

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 !

2 réponses

  1. Contributeur
    bonjour,
    A quelle ligne as-tu cette erreur?
    Peux-tu fusionner sans problème à la main?
    1
    1. 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
    2. Contributeur
      @farreneitpeux-tu partager to fichier?
      0
    3. @yg_beBonjour,

      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
    4. Contributeur
      @farreneitAucun 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
  2. Contributeur
    Bonjour,

    comme ceci:

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


    1
    1. Merci pour la réponse, mais le but est de pouvoir fusionner en fonction des variables.
      0
    2. Contributeur
      @farreneitet cela:

      Range(mergeA, mergeB).MergeCells = True


      @+
      0
    3. @cs_Le PivertComme ç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