[VBA] Coordonnées de cellule

Résolu
Bonjour,

j'ai fais un programme en vba qui me permets de créer un fichier avec 3 colonnes

col1 col2 col3

et ceux avec beaucoup de données,
Mon traitement s'effectue comme suit :

l'utilisateur séléctionne 3 plages de données (avec un bouton refedit) par exemple :

première plage = "B1:I1"
Dexuieme plage = "A2:A9"
la troisième = "B2:I9" ==> c'est la zone comprise entre la première et la deuxième plage.

j'aimerais améliorer mon traitement en supprimant le choix de la troisième plage...

Mon soucis pour l'heure est que je ne sais pas comment choisir une cellule en particulier dans une Range .... (cela pour utiliser "offset")

Merci d'avance

--
Google is your friend!

6 réponses

  1. Contributeur
    Bonjour à tous,

    Ben tu vois je pense avoir compris ta question mais ta réponse à une demande d'éclaircissement me dissuade de mettre ma proposition.
    Aller je t'aide un peu quand même, ça commence bien par :
    Set plage = plage2.Offset(...

    eric
    1
    1. Merci pour le début de réponse!
      sujet résolu
      0
  2. Contributeur
    Bonjour,
    Dans la grande majorité des cas, pas de réponse égale question imprécise ou mal formulée.
    De plus, les intervenants (qui sont tous bénévoles, je te le rappelle), sont souvent rebutés par un manque d'effort du questionneur.
    Merci de ta compréhension
    0
    1. Pourquoi être aussi directe ?
      les intervenants (qui sont tous bénévoles, je te le rappelle), 
      je sais comment marche ce forum ?!
      Merci pour les précisions...
      0
      1. Bonjour,

        Les références données par Ref edit comporte des lettres et des $
        On peut donc en manipulant les chaines de caractères récupérer les references de lignes et de colonneset concatener pour obtenir celle de la nouvelle plage
        voilà la macro qui le fait :
        Sub references()
        a = "$B$1:$K$1"
        b = "$A$2:$A$9"
        ' suppression du 1er $
        aa = Right(a, Len(a) - 1)
        bb = Right(b, Len(b) - 1)
        ' ref colonne deb plage finale (B)
        r1 = Left(aa, 1)
        ' emplacements des : dans aa et bb
        dpa = InStr(1, aa, ":")
        dpb = InStr(1, bb, ":")
        ' emplacement du $ dans bb
        dolb = InStr(1, bb, "$")
        'ref ligne deb plage finale (2)
        r2 = Mid(bb, dolb + 1, dpb - dolb - 1)
        ' parties droites des chaines apres les : et le $
        aaa = Right(aa, Len(aa) - dpa - 1)
        bbb = Right(bb, Len(bb) - dpb - 1)
        ' emplacement du 2Nd $ dans les parties droites
        dolaaa = InStr(1, aaa, "$")
        dolbbb = InStr(1, bbb, "$")
        'ref colonne fin plage finale (K)
        r3 = Left(aaa, dolaaa - 1)
        'ref ligne fin plage finale
        r4 = Right(bbb, Len(bbb) - dolbbb)
        'concatenation des references
        plage = "$" & r1 & "$" & r2 & ":$" & r3 & "$" & r4
        End Sub

        Cdlmnt
        0
        1. Merci pour l'info j'ai deja quelque chose qui traite "Feuil1!$B$1:$I$1" en "B1:I1"
          0