Bonjour,
Je ne trouve pas la solution pour écrire la condition suivante en VBA:
Dans une boucle for de la ligne i à la dernière ligne
Si il y a une cellule fusionnée (sur 2 lignes), je ferais ...(mon action)
merci d'avance,
gabi974
Bonjour,
Je ne trouve pas la solution pour écrire la condition suivante en VBA:
Dans une boucle for de la ligne i à la dernière ligne
Si il y a une cellule fusionnée (sur 2 lignes), je ferais ...(mon action)
merci d'avance,
gabi974
Bonjour gabi974,
Voilà une idée de test pour savoir si une cellule est fusionnée (ici je ne test que les 10 premières ligne de la colonne A) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub test() Dim rg As Range Dim i As Byte For i = 1 To 10 Set rg = Cells(i, 1) If rg.CurrentRegion.Count > 1 Then MsgBox "la celulle [A" & i & "] est fusionnée avec une autre cellule" Next i End Sub
salut Antony,
Je m'inspire de ta formule.
J'ai une préférence avec les Range que les Cells.
J'applique donc et il n'y a pas d'erreur, je vérifie si ça correspond à ce que je cherche réelement.
Merci de ta réponse,
gabi974
Re Antony,
ta formule doit peut être marché, mais mon tableau a des lignes entière de la taille de mes cellules fusionnés.
Je ne sais pas s'il y a un rapport avec çamais je dois chercher une autre condition:
Sur mon tableau, la colonne A a des numéro, la B à des noms, quelques noms sont fusionné et ont donc 2 numéro.
Ma question étais de savoir comment faire la condiction si la cellule B est fusionné (contient 2 numéro de la colonne A), je veux tel resultat.
Si tu as déjà répondu à cette question, c'est que je n'ai alors toujours pas compris.
Merci encore,
gabi974
Tu parles bien de cellules fusionnées ?
Dans mon test, je met la colonne A donc si c'est sur la B tu dois adapter.
J'ai adapté en mettant: If (Range("B" & j).CurrentRegion.Count) > 1 Then.
c'est compliqué les fusions...
Sur mon tableur, si par exemple je clique sur la cellule fusionné (B10 fusion B11), en haut à gauche il m'affiche que B10.
Je ne peux pas lui dire que "si B11.value = B10.value, alors..." ça aurait été plus simple.
pitié VBA, je ne suis qu'un néophyte !
je change If (Range("B" & j).CurrentRegion.Count) > 1 Then par : If (Range("B" & j).CurrentRegion.Count) > 2 Then, j'obtiens le même résultat. La condition doit être égale à 1 (enfin je pence).
Partager