Compter colonne avec les cellules fusionnés compter comme 1

gzarka

XLDnaute Nouveau
Bonjour le forum,

Je revien vers vous pour un nouveau probleme différent :D.

Alors je sait que vous me direz que les cellules fusionné c'est à éviter mais j'ai pas trop le choix car c'est la methode la plus connue pour faire des regroupement de cellule et je ne serai pas le seul utilisateur à utiliser mon fichier.

Mon probleme:
Je doit compter le nombre de colonne remplie sur une ligne mais en comptant les colonnes fusionné comme étant une seule colonne.
J'ai essaié pas mal de truc et je bloque...

Une solution malgré les colonnes fusionné? :(
 

abcd

XLDnaute Barbatruc
Re : Compter colonne avec les cellules fusionnés compter comme 1

Bonjour,

Deux réponses :

Il ne faut pas nécessairement fusionner des cellules pour centrer le texte sur plusieurs colonnes.
On obtient le même résultat par le menu Format / Cellules / Alignement / Retrait (gauche).
Il existe une icône à copier glisser dans la barre d'outils qui facilite cette mise en page.

Rien ne différencie les cellules fusionnées des autres, si ce n'est que seule la première peut contenir une valeur, les autres sont vides.
compter le nombre de colonne remplie sur une ligne mais en comptant les colonnes fusionné comme étant une seule colonne.
ne pose donc aucun problème, la fonction NBVAL doit renvoyer ce résultat.

abcd
 

gzarka

XLDnaute Nouveau
Re : Compter colonne avec les cellules fusionnés compter comme 1

Oui, je sait comment faire pour eviter de fusionner mais aller expliquer ca a tout le monde :p.

J'ai oublié de preciser... je fait ca en VBA.
Donc je pense avoir trouvé lé correspondance NBVal = .count mais... je bloque toujours.

Y aurais pas une solution en comptant le nombre de fois qu'on peut faire offset(0 ,1) avant de tomber sur une cellule vide?
 
Dernière édition:

gzarka

XLDnaute Nouveau
Re : Compter colonne avec les cellules fusionnés compter comme 1

Merci Kjin et ABCD,

alors j'ai continué de mon coté... avec un code devant crée des multipage avec le nom des colonne fusionné.

J'ai ca pour l'instant mais ca compile pas :D

Code:
Set Multi = UserForm1.Controls.Add("Forms.MultiPage.1")
'pointer est declaré en integer

    With Multi
        .Name = "Mutli"
        .Left = 0
        .Top = 5
        .Width = 350
        .Height = 450
    End With

pointer = 1
For i = 0 To (Cells(2, pointer).Offset(0, 1).Column.Value <> Null)
    
  Multi.Pages.Add
  Multi.Pages(i).Caption = Cells(2, pointer)
  pointer = Cells(2, (Cells(2, pointer).Offset(0, 1).Column))
    
Next i

Je touche le bout ou le fond avec ca? :rolleyes:
 

Pierrot93

XLDnaute Barbatruc
Re : Compter colonne avec les cellules fusionnés compter comme 1

Bonsoir,

regarde le code ci-dessous, il teste la ligne 2 de la colonne A jusqu'à la dernière colonne dont la cellule est non vide.

Lors de la création des pages, tient compte du fait que par défaut, au moins 2 pages sont déjà présentes, et ne créé une nouvelle pae que si cellule rensignée. Fonctionne chez moi sous Excel2003, avec cellules fusionnées.

Code:
Private Sub UserForm_Initialize()
Dim i As Integer, multi As MultiPage, p As Integer
Set multi = UserForm1.Controls.Add("Forms.MultiPage.1")
    With multi
        .Name = "Mutli"
        .Left = 0
        .Top = 5
        .Width = 350
        .Height = 450
    End With
For i = 1 To Range("iv2").End(xlToLeft).Column 
    If Cells(2, i).Value <> "" Then
      If p >= multi.Pages.Count Then multi.Pages.Add
        multi.Pages(p).Caption = Cells(2, i)
        p = p + 1
    End If
Next i
End Sub

bonne soirée.
@+
 

Discussions similaires

Réponses
306
Affichages
26 K

Statistiques des forums

Discussions
312 445
Messages
2 088 488
Membres
103 869
dernier inscrit
benji_270