Excel 2003

Résolu
Bonjour,

Je voudrai avoir une macro ou une méthode pour fusionner les cellules vides d'une colonne avec la cellule non-vide précédente :

cellule1
(vide)
(vide)
(vide)
cellule2
(vide)
cellule3
(vide)
(vide)
....

Merci
Configuration: Windows 2003
Firefox 3.5.1

6 réponses

  1. Contributeur
    bonjour

    Un TCD est une analyse de données, ce n'est pas une feuille de saisie : les outils ont une certaine conception qu'il faut essayer d'utiliser. Ainsi tu ne découpes pas ta viande avec la cuillère et tu ne manges pas ton potage avec la fourchette.
    Pour un TCD, il faut l'utiliser selon sa destination et idem pour la saisie des informations.
    0
    1. Bonjour à tous,

      reconstruit un tableau plein comme l'indique gbinforme.
      Pour cela, une formule toute simple dans la 1ère colonne dispo de la ligne 2 (là, j'ai choisi F2) : =SI(A2="";F1;A2) recopiée à droite sur autant de colonnes que nécessaire et vers le bas sur autant de lignes de données.
      Après, tes TCD fonctionneront.

      cordialement

      PS : n'oublie pas de recopier la première ligne!
      1
      1. Merci !
        Autre question :
        Est-ce possible de modifier la source de donnée directement depuis le tableau dynamique ?
        0
    2. Contributeur
      bonjour

      Quoi que tu fasses, tu n'arriveras jamais avec cette structure de données à attribuer l'utilisateur titi au nom toto car excel est un tableur et non un logiciel de cartomancie. Les données doivent être répétées sur toutes les lignes et si tu ne veux pas les voir tu mets une MFC qui affiche en blanc les lignes identiques à la ligne supérieure.
      0
      1. Voila un exemple très simplifié :
        http://www.cijoint.fr/cjlink.php?file=cj200908/cijHyrC2cf.xls

        Le problème est qu'il y a beaucoup de données à traiter ^^
        0
        1. Contributeur
          bonjour

          la fusion des cellules précédente ne résous pas le problème.

          Il me semble que c'est ce que je t'avais dit car je n'ai jamais vu résoudre un problème de données par la fusion. Celle-ci permet tout au plus de faire un tableau de présentation et n'est que néfaste pour le reste.

          Un TCD regroupe des données et si tu "t'amuses" à mettre des vides, il les considère comme tels : c'est la conception des données qui est sans doute à repenser mais pas la présentation en fusionnant.

          Donnes nous un exemple sur http://www.cijoint.fr/index.php si tu veux plus de précisions.
          0
          1. Voila un exemple très simplifié :
            http://www.cijoint.fr/cjlink.php?file=cj200908/cijHyrC2cf.xl­s

            Le problème est qu'il y a beaucoup de données à traiter ^^
            0
        2. Contributeur
          bonjour

          Je ne suis pas un grand fan des fusions car cela présente pas mal d'inconvénients, surtout en macro mais comme tu le demandes, voici une macro événementielle qui fait ce que tu souhaites.
          Private Sub Worksheet_BeforeRightClick(ByVal sel As Range, Cancel As Boolean)
          Cancel = True
          Dim cel As Range
          Dim adeb As String
          Dim afin As String
          For Each cel In sel
              If cel.Value <> "" Then
                  Call fusion(adeb, afin)
                  adeb = cel.Address
                  afin = ""
              Else
                  afin = ":" & cel.Address
              End If
          Next cel
          Call fusion(adeb, afin)
          End Sub
          Sub fusion(adeb, afin)
              If adeb <> "" And afin <> "" Then
                  With Range(adeb & afin)
                      .Merge
                      .HorizontalAlignment = xlCenter
                      .VerticalAlignment = xlCenter
                  End With
              End If
          End Sub

          Après avoir copié la macro dans la feuille concernée(mode d'emploi éventuel), tu sélectionnes la plage à fusionner et avec un clic droit la fusion est faite.
          1
          1. Peut-être pourras-tu m'aider pour mon problème vu que ça ne le résous pas ....
            Alors j'ai 3 feuilles avec des tableaux dont les colonnes sont comme expliqué ci-dessus (titre1 (vide) (vide) titre2 ...)
            Je voudrai regrouper ces données dans un tableau croisé dynamique.
            Le problème c'est que mes lignes de données font plusieurs lignes du tableur :
            -
            titre1 data data
            (vide) data2 data
            -
            titre2 data data
            (vide) (vide) data
            ....

            Lors du tableau croisé, il me groupe les data précédées de (vide) dans la catégorie (vide) et la fusion des cellules précédente ne résous pas le problème.

            Merci.
            0