Je récupère dans une macro un range. Disons A2:D20
comment récupérer :
preml= N° de la première ligne (2)
dernl= n° de la dernière ligne(20)
premc= N° de la première colonne (1) ou mieux, directement sa lettre, A
dernc= N° de la dernière colonne (4 ou D)
merci merci
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Parmi la foultitude de soluces : Sub zoziau() Set plg = [D4:IV1000] ligne1 = plg(1).Row '1° ligne de la plage derLigne = plg.Rows.Count + ligne1 - 1 'der ligne
col1 = Split(plg(1).Address, "$")(1) '1° colonne de la plage derCol = Split(Cells(1, plg.Columns.Count + plg(1).Column - 1).Address, "$")(1) 'der colonne
MsgBox ligne1: MsgBox derLigne: MsgBox col1: MsgBox derCol End Sub
AV
Parmi la foultitude de soluces :
Sub zoziau()
Set plg = [D4:IV1000]
ligne1 = plg(1).Row '1° ligne de la plage
derLigne = plg.Rows.Count + ligne1 - 1 'der ligne
col1 = Split(plg(1).Address, "$")(1) '1° colonne de la plage
derCol = Split(Cells(1, plg.Columns.Count + plg(1).Column - 1).Address, "$")(1)
'der colonne
MsgBox ligne1: MsgBox derLigne: MsgBox col1: MsgBox derCol
End Sub
Parmi la foultitude de soluces : Sub zoziau() Set plg = [D4:IV1000] ligne1 = plg(1).Row '1° ligne de la plage derLigne = plg.Rows.Count + ligne1 - 1 'der ligne
col1 = Split(plg(1).Address, "$")(1) '1° colonne de la plage derCol = Split(Cells(1, plg.Columns.Count + plg(1).Column - 1).Address, "$")(1) 'der colonne
MsgBox ligne1: MsgBox derLigne: MsgBox col1: MsgBox derCol End Sub
AV
Misange
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
perfecto !
je pensais naivement qu'on devait pouvoir faire plus simple ;-)
merci à tous les deux
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
isabelle
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
ou bien,
Sub Macro1()
Set plg = Range("A2:D20")
preml = plg.Item(1).Row
dernl = plg.Item(plg.Count).Row
premc = LettreColonne(plg.Item(1).Column)
dernc = LettreColonne(plg.Item(plg.Count).Column)
End Sub
Function LettreColonne(c As Integer)
If c < 27 Then LettreColonne = Chr(c + 64) _
Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2)
End Function
isabelle
perfecto !
je pensais naivement qu'on devait pouvoir faire plus simple ;-)
merci à tous les deux
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
isabelle
Ho! que oui Michel, j'aimme bien ce Iif fonction, adopté isabelle
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer) LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2)) End Function
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Ho! que oui Michel, j'aimme bien ce Iif fonction, adopté
isabelle
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer)
LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2))
End Function
ou bien,
Sub Macro1()
Set plg = Range("A2:D20")
preml = plg.Item(1).Row
dernl = plg.Item(plg.Count).Row
premc = LettreColonne(plg.Item(1).Column)
dernc = LettreColonne(plg.Item(plg.Count).Column)
End Sub
Function LettreColonne(c As Integer)
If c < 27 Then LettreColonne = Chr(c + 64) _
Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2)
End Function
isabelle
perfecto !
je pensais naivement qu'on devait pouvoir faire plus simple ;-)
merci à tous les deux
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Ho! que oui Michel, j'aimme bien ce Iif fonction, adopté isabelle
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer) LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2)) End Function
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Michel Gaboly
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer) LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2)) End Function
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer)
LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2))
End Function
ou bien,
Sub Macro1()
Set plg = Range("A2:D20")
preml = plg.Item(1).Row
dernl = plg.Item(plg.Count).Row
premc = LettreColonne(plg.Item(1).Column)
dernc = LettreColonne(plg.Item(plg.Count).Column)
End Sub
Function LettreColonne(c As Integer)
If c < 27 Then LettreColonne = Chr(c + 64) _
Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2)
End Function
isabelle
perfecto !
je pensais naivement qu'on devait pouvoir faire plus simple ;-)
merci à tous les deux
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Function LettreColonne(c As Integer) LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2)) End Function
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Michel Gaboly
Re,
Le "IIF" avec 2 "i" est l'équivalent du SI() des feuilles de calcul.
Curieusement, je l'ai découvert très tard, et j'ai l'impression de ne pas y penser assez souvent, et je ne suis probablement pas le seul ;-))))
Ho! que oui Michel, j'aimme bien ce Iif fonction, adopté isabelle
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer) LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2)) End Function
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
-- Cordialement,
Michel Gaboly http://www.gaboly.com
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Re,
Le "IIF" avec 2 "i" est l'équivalent du SI() des feuilles de calcul.
Curieusement, je l'ai découvert très tard, et j'ai l'impression de ne pas
y penser assez souvent, et je ne suis probablement pas le seul ;-))))
Ho! que oui Michel, j'aimme bien ce Iif fonction, adopté
isabelle
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer)
LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2))
End Function
ou bien,
Sub Macro1()
Set plg = Range("A2:D20")
preml = plg.Item(1).Row
dernl = plg.Item(plg.Count).Row
premc = LettreColonne(plg.Item(1).Column)
dernc = LettreColonne(plg.Item(plg.Count).Column)
End Sub
Function LettreColonne(c As Integer)
If c < 27 Then LettreColonne = Chr(c + 64) _
Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2)
End Function
isabelle
perfecto !
je pensais naivement qu'on devait pouvoir faire plus simple ;-)
merci à tous les deux
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le "IIF" avec 2 "i" est l'équivalent du SI() des feuilles de calcul.
Curieusement, je l'ai découvert très tard, et j'ai l'impression de ne pas y penser assez souvent, et je ne suis probablement pas le seul ;-))))
Ho! que oui Michel, j'aimme bien ce Iif fonction, adopté isabelle
Bonjour,
Version simplifiée de la fonction :
Function LettreColonne(c As Integer) LettreColonne = Left(Cells(1, c).Address(0, 0), IIf(c < 27, 1, 2)) End Function
ou bien,
Sub Macro1() Set plg = Range("A2:D20") preml = plg.Item(1).Row dernl = plg.Item(plg.Count).Row premc = LettreColonne(plg.Item(1).Column) dernc = LettreColonne(plg.Item(plg.Count).Column) End Sub
Function LettreColonne(c As Integer) If c < 27 Then LettreColonne = Chr(c + 64) _ Else: LettreColonne = Left(Cells(1, c).Address(0, 0), 2) End Function
isabelle
perfecto ! je pensais naivement qu'on devait pouvoir faire plus simple ;-) merci à tous les deux
--
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta