Problème sélection cellules

Résolu
Bonjour à tous,
voici la raison de ma présence:
dans excel 2007 pour ma macro je tape Sub Reset()

Sheets("renseignement client").Range("A2").MergeArea.ClearContents
Sheets("plan terrasse").Range("Q24").MergeArea.ClearContents

marche impec pour supprimer 2 cellules dans 2 feuilles différentes
si je veux supprimer plusieur cellules je tape

Sheets("renseignement client").Range("A2:A5").MergeArea.ClearContents
Sheets("plan terrasse").Range("Q24").MergeArea.ClearContents

j'ai une erreur d'exécution 1004

merci d'avance pour le dépannage

10 réponses

  1. Bonjour

    La méthode MergeArea ne fonctionne que sur une plage à cellule unique et revoie la plage fusionnée contenant cette cellule
    Donc
    Sheets("plan terrasse").Range("Q24").MergeArea.ClearContents
    est correct (Q3 ne contient qu'une cellule)
    Sheets("renseignement client").Range("A2:A5").MergeArea.ClearContents
    est incorrect "A2:A5" contient 4 cellules

    RQ1. Les cellules fusionnées sont souvent/toujours une source de problèmes
    RQ2. Pour effacer le contenu d'une plage fusionnée, il suffit de mettre une chaine vide dans sa première cellule. Exemple : le page B3:C5 est fusionnée et Range("B3").cells(1,1)="" efface son contenu

    Cdlmnt
    0
    1. merci mais du coup je tape quoi???
      0
      1. ça dépend de la configuration de tes cellules/plages fusionnées ou non, il te faudrait en dire un peu plus
        Ex1 : la plage A2:B5 ne contient pas de cellules fusionnées
        Range("A2:B5").ClearContents
        Ex2. les 8 cellules de la plage A2:B5 sont fusionnées
        Range("A2:B5").Cells(1,1)= ""

        RQ. marche impec pour supprimer 2 cellules > en fait tu ne supprimes pas des cellules, mais tu effaces leur contenu

        Cdlmnt
        0
        1. ça avance
          le probleme ne vient pas (d'après moi) de la fusion des cellulles
          si je tape Sheets("plan terrasse").Range("Q24").MergeArea.ClearContents OK
          si je tape Sheets("plan terrasse").Range("Q24, Q28").MergeArea.ClearContents (donc, sauf erreur il ne s'agit pas de cellules fusionnées mais bien de 2 cellules distinctes)
          j'ai l'impression de dire une connerie, mais bon
          0
          1. sauf erreur il ne s'agit pas de cellules fusionnées mais bien de 2 cellules distinctes
            Remplaces donc
            Sheets("plan terrasse").Range("Q24, Q28").MergeArea.ClearContents
            par
            Sheets("plan terrasse").Range("Q24, Q28").ClearContents

            RQ. Relis le post 1 (ou l'aide de vba) à propos de MergeArea

            Cdlmnt
            0
            1. bonjour cc
              tjrs le meme probleme
              si je tape:
              Worksheets("renseignement client").Range("B1:B5, B11:B15, B8").ClearContents
              OK

              si je tape:
              Worksheets("renseignement client").Range("B1:B5, B11:B15, B8").ClearContents
              Worksheets("plan terrasse").Range("Q24, Q28").MergeArea.ClearContents
              erreur d'execution "1004" erreur definie par l'application ou par l'objet

              si je tape:
              Worksheets("plan terrasse").Range("Q24, Q28").MergeArea.ClearContents
              erreur d'execution "1004" erreur definie par l'application ou par l'objet

              si je tape:
              Sheets("plan terrasse").Range("Q24, Q28").ClearContents
              erreur d'execution "1004" impossible de modifier une cellule fusionnée

              si je tape:
              Worksheets("plan terrasse").Range("Q24").MergeArea.ClearContents
              OK

              ("Q24, Q28") sont 2 cellules fusionnées comme tu peux t'en douter
              ne s'agit il pas d'un probleme de syntaxe?
              0
              1. Post4
                si je tape Sheets("plan terrasse").Range("Q24, Q28").MergeArea.ClearContents (donc, sauf erreur il ne s'agit pas de cellules fusionnées mais bien de 2 cellules distinctes)
                Post6
                ("Q24, Q28") sont 2 cellules fusionnées comme tu peux t'en douter
                ?????
                0
                1. en tout cas merci pour ta patience cc
                  en faite Q24,est composé se 6 cellules et Q28 est composé se 6 cellules
                  voila voila
                  0
                  1. en faite Q24,est composé se 6 cellules et Q28 est composé se 6 cellules
                    Si Q24 est la première cellule des 6 cellules fusionnées et idem pour Q28, tu fais ça en deux instructions
                    Range("Q24").Cells(1, 1) = ""
                    Range("Q28").Cells(1, 1) = ""

                    Cdlmnt
                    1
                    1. merci cc
                      probleme résolu
                      on ce retrouve (j'espere) pour mon nouveau post
                      kenavo
                      0