Macro sur colonne quand cellule fusionnées

Fermé
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014 - 30 avril 2010 à 17:09
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014 - 4 mai 2010 à 09:45
Bonjour,

Je vous explique mon problème,

J'ai une macro qui me permet de masquer les ligne dont les cellules h sont vides :


For i = 5 To 2550
If Range("H" & i) = "" Then
Rows(i).Hidden = True
End If
Next i


Jusque la tout va bien ou presque, si dans ma page, il y a des cellules fusionnées cela ne marche plus . Mon document excel est du type


TITRE 1 : La petite vache est dans le pré (ce texte est fusionner sur 6 colonnes) puis on retrouve les cellules non fusionner :

| La vache lambda | Champ A | vacciné | x |
| La vache beta | Champ B | vacciné | |
|


J'aimerais que ma macro fasse abstraction des cellules fusionnées, et qu'en plus de ca elle detecte si la vache est vacciné (grace au petit "x" auxquel cas on reprend le titre, sinon on masque tout !!!(titre + ligne), sachant que si une et une seule des vaches en dessous de mon titre est vacciné, on conservera le le titre et la ligne de la vaccinée.

Merci pour votre aide,

Jales




A voir également:

10 réponses

Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
30 avril 2010 à 18:24
Bonjour,
Essayer avec se complément :
For i = 5 To 2550
If faux = Range("H" & i).MergeCells Then
    If Range("H" & i) = "" Then
    Rows(i).Hidden = True
    End If
Else
    MsgBox Range("H" & i).MergeArea.Address
End If

Next i
--
Salutations.
Le Pingou
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
30 avril 2010 à 19:53
Bonjour,

Sinon le mieux est d'éviter au maximum de fussionner des cellules.
Dans ton cas tu peux sélectionner tes cellules et mettre 'format de cellule / alignement / horizontal / centrer sur plusieurs colonnes' ce qui fait exactement pareil

eric
0
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014
3 mai 2010 à 09:05
Bonjour PIngou et gbinforme et mercio pour vos réponses!

Eric, ce n'est pas moi qui est penser la conception du tableau, je ne peu donnc pas le modifier sur la mise en forme !!

Pingou, ta solution marche, le seul ti problème que j'ai est qu'a chasque fois que la macro rencontre une cellule fusionées, elle me demande de valider, comment enlever ces message?
0
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014
3 mai 2010 à 09:41
AUtant pôur moi, je n'avauis pas vu le msg box, pb reglé, il me reste encore un petit point que je ne colmprend pas, certaines ligne dont la cellule de la colonne H sont vides reste afffichée (pb pr 25 lignes qui se suivent) d'ou peut venir ce pb??

Merci pour vos réponses,

Cordialement,

James
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
3 mai 2010 à 10:26
Bonjour,
Pouvez-vous mettre le fichier avec au minimum la feuille concernée sur https://www.cjoint.com/ et poster le lien ?
0
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014
3 mai 2010 à 10:32
https://www.cjoint.com/?fdkFJh56cL

Voila le fichier. Le pb se situe au niveau de la L 2000 !

Merci
0
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014
3 mai 2010 à 10:49
Je donne ca sans précision .... :s dsl

La macro s'appelle macro 2 (les autres ervent à rien)

Touyt le début de cette macro sont des copier coller dc inutile. Pour voir ce qui p ourrait perturber, je pense qu'il faut que tu ailles directement a la fin de la macro 2 !!!

Merci !
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
3 mai 2010 à 22:23
Bonjour,
Je vous propose d'essayer la procédure suivante que vous copier dans le module de votre choix :
Sub MasquerLigneColHVide()
Dim deli As Long, i As Long
Sheets("Liste des textes").Select
Application.ScreenUpdating = False
For i = 5 To 2550
    If 1 = Range("H" & i).MergeArea.Columns.Count Then
        If Range("H" & i) = "" Then
        Rows(i).Hidden = True
        End If
    End If
Next i
Application.ScreenUpdating = True
End Sub
0
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014
4 mai 2010 à 09:32
Bonjour PIngou,

Je n'ai pas encore testée si la macro marche, mais je voulais juste te remercier (toi ainsi qu'ériic, gbinforme ...) qui prennez toujours le temps d'aider les débutants!!! Peu de gens consacrent du temps comme ça à des inconnus donc

UN GRAND MERCI A VOUS

James
0
james405 Messages postés 154 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 10 juin 2014
4 mai 2010 à 09:45
Pas de grande surprise tout marche à merveille et je gagne 2 min sur le temps de macro qui ne mets plus que 30 secondes maintenant ...

Encore merci,

James
0