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 :

trouver les cellules qui on un intersect aec la derniere colonne d'une plage [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut trouver les cellules qui on un intersect aec la derniere colonne d'une plage
    bonjour a tous
    j'ai un petit soucis sans doute quelque chose m'echappe


    j'ai une plage de cellule que je transforme en table html ca c'est OK

    chaque cellule de la table html a pour id l'adresse de la cellule de la plage exemple: la cellule B21 devient en html "<TD ID=$B$21> truc bidule</TD>"


    pour parfaire les bordures je boucle sur les cellules de la table html

    for each elem in table. getelementsbytagname("TD").length-1

    et c'est la que j'ai besoin de tester si le intersect de range(elem.id) croise la dernière colonne
    alors si il n'y avait pas de fusion cela serait facile mais il y a des fusion horizontales

    exemple la plage est range ("b3:F10")
    je peut avoir des fusion du genre "D9:f9" qui porte le nom de "D9" Excel nommant la fusion avec les coordonnées de la première cellule de la fusion

    en gros des que j'ai la colonne "F" dans une cellule ou fusion je veut le savoir

    j'ai bien essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dercol=plage.speciallcells(xlcellstypelastcell).column
    mais ca me donne une autre colonne

    bref je patauge

    ps:
    j'ai réédité!!!!!!!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Je ne sais pas si ça va t'aider mais regarde du côté de la propriété .MergeArea de l'objet Range.

    Dans ton exemple [D9].MergeArea.Address devrait répondre $D$9:$F$9
    Donc un truc du genre peut être sympa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        Dim rg As Range
            Set rg = [D9]
            Set rg = rg.MergeArea
            Set rg = rg.Cells(rg.Cells.Count)
        MsgBox rg.Address
    fin:
        Set rg = Nothing
    End Sub

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour Antoni

    non ca n'est pas un soucis des adresses de cellules seules et fusionnées ca je l'ai déjà

    le soucis vient du fait que dans une table html les cellule fusionnée(rospan=X colspan=X) compte pour une
    tandis que dans Excel on peut déterminer le rows.count ou le column.count d'une fusion par l'adresse complète

    bon de toute façon ca n'est pas grave je me suis débrouillé comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     dercol = Split(plage.Address, "$")(3)
            derlig = Split(plage.Address, "$")(4)
           Set mesTD = .getelementsbytagname("TD")
            For i = 0 To mesTD.Length - 1
            Set elem = mesTD(i)
            If InStr(elem.ID, dercol) > 0 Then If Range(elem.ID).borders(xlEdgeRight).LineStyle <> xlNone Then elem.Style.borderright = bordure(Range(elem.ID).borders(xlEdgeRight))
            If InStr(elem.ID, derlig) > 0 Then If Range(elem.ID).borders(xlEdgeBottom).LineStyle <> xlNone Then elem.Style.borderbottom = bordure(Range(elem.ID).borders(xlEdgeBottom))
               Next
    et ca fonctionne très bien

    je suis en tain de simplifier mon module table Excel to html car il y a beaucoup de demande sur (envoyer une plage excel dans le corps du message ) dans les "Mail"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Regrouper les cellules qui ont un contenu identique
    Par Iloon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/01/2008, 14h26
  2. Identifier les cellules qui contienent une Validation
    Par A@Lah dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/10/2007, 13h09
  3. Trouver les cellules référencées ailleurs
    Par Alqualonde dans le forum Excel
    Réponses: 2
    Dernier message: 07/09/2007, 17h33
  4. [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
  5. Ou trouver les informations qui defile lors du boot ?
    Par piff62 dans le forum Administration système
    Réponses: 2
    Dernier message: 17/03/2005, 17h19

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