[VBA] Coordonnées de cellule
Résolu
yacleouf
Messages postés
438
Date d'inscription
Statut
Membre
Dernière intervention
-
yacleouf Messages postés 438 Date d'inscription Statut Membre Dernière intervention -
yacleouf Messages postés 438 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Vba coordonnées cellule variable
- Coordonnées gps - Guide
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Vba range avec variable ✓ - Forum VB / VBA
6 réponses
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
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
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
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
Pourquoi être aussi directe ?
Merci pour les précisions...
les intervenants (qui sont tous bénévoles, je te le rappelle),je sais comment marche ce forum ?!
Merci pour les précisions...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
sujet résolu