Excel 2003
Résolu
Cecelle
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
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
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
A voir également:
- Excel 2003
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
6 réponses
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.
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.
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.
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!
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!
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.
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.
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 ^^
http://www.cijoint.fr/cjlink.php?file=cj200908/cijHyrC2cf.xls
Le problème est qu'il y a beaucoup de données à traiter ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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.
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.
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.