IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Cellule fusionnée - Test


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut Cellule fusionnée - Test
    Bonjour à tous !

    Me voici devant un problème que je n'arrive pas à résoudre :
    Imaginons un fichier avec :
    A1:A5 fusionnée = 2
    A6:A8 fusionnée = 6
    A9:A13 fusionnée = 15

    Je souhaiterais faire un test permettant de trouver d'abord la valeur 2, ensuite 6, enfin 15. C'est à dire un test de haut en bas, capable de lire la valeur dans chaque cellule fusionnée.
    Auriez-vous une petite idée à me soumettre ? svp

    Cordialement,

    Tom

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,


    Chaque cellule est un objet range qui comprend la propriété MergedArea qui est en fait la plage fusionnée , le principe du code suivant est de parcourir toutes les cellules d'une plage et de ne prendre en compte que les cellules dont leur adresse correspond à l'adresse de la première cellule de la plage fusionnée ( Merged Area ) ..

    cela donne :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ParcoursCellules()
    Dim r As Range
    Dim plage As Range
    Set plage = ThisWorBook.Sheets("Feuil1").Range("A1:A3")
    For Each r In plage
        If r.Address = r.MergeArea.Cells(1, 1).Address Then 'On ne traite que la premiére cellule d'une plage
            Debug.Print r.Address & " => " & r.Value 'Voir résultat dans fenêtre exécution CTRL+G
        End If
    Next
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut
    Parfait ! Merci beaucoup !

    C'est exactement ce que je cherchais !

    Tom

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Compter les cellules fusionnées
    Par Korleone dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/08/2017, 16h09
  2. [VBA-Exel] Adresse d'une cellule fusionnée
    Par gloll dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 03/08/2006, 09h25
  3. Réponses: 2
    Dernier message: 21/06/2006, 17h57
  4. [VBA-W] Cellules fusionnées
    Par TheEwook dans le forum VBA Word
    Réponses: 1
    Dernier message: 24/04/2006, 14h06
  5. [VBA]Trouver les cellules fusionnées et autres
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 23/01/2006, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo