Bonne fin de semaine Isabelle et essaie de ne pas congeler si
tu mets le bout du nez dehors. Et pour rigoler :
Sub Tellement_Simple()
Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
Range(Cells(IIf(IsEmpty(c.Rows(1)), c.Rows(1).End(xlDown).Row, 1), c.Column), _
Cells(IIf(IsEmpty(c.Rows(c.Rows.Count)), c.Rows(c.Rows.Count).End(xlUp).Row, _
c.Rows.Count), c.Column)).Select
End Sub
Serge
"isabelle" a écrit dans le message de news: idu0pv$dq7$et la tienne également, là v'la un peu condensé,
Sub Première_Dernière2()
Dim L1 As Long, L2 As Long, Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
If Not IsEmpty(c.Rows(1)) Then L1 = 1 Else L1 = c.Rows(1).End(xlDown).Row
If Not IsEmpty(c.Rows(c.Rows.Count)) Then L2 = c.Rows.Count Else L2 = c.Rows(c.Rows.Count).End(xlUp).Row
Range(Cells(L1, c.Column), Cells(L2, c.Column)).Select
End Sub
Bonne fin de semaine Isabelle et essaie de ne pas congeler si
tu mets le bout du nez dehors. Et pour rigoler :
Sub Tellement_Simple()
Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
Range(Cells(IIf(IsEmpty(c.Rows(1)), c.Rows(1).End(xlDown).Row, 1), c.Column), _
Cells(IIf(IsEmpty(c.Rows(c.Rows.Count)), c.Rows(c.Rows.Count).End(xlUp).Row, _
c.Rows.Count), c.Column)).Select
End Sub
Serge
"isabelle"<i@v.org> a écrit dans le message de news: idu0pv$dq7$1@speranza.aioe.org...
et la tienne également, là v'la un peu condensé,
Sub Première_Dernière2()
Dim L1 As Long, L2 As Long, Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
If Not IsEmpty(c.Rows(1)) Then L1 = 1 Else L1 = c.Rows(1).End(xlDown).Row
If Not IsEmpty(c.Rows(c.Rows.Count)) Then L2 = c.Rows.Count Else L2 = c.Rows(c.Rows.Count).End(xlUp).Row
Range(Cells(L1, c.Column), Cells(L2, c.Column)).Select
End Sub
Bonne fin de semaine Isabelle et essaie de ne pas congeler si
tu mets le bout du nez dehors. Et pour rigoler :
Sub Tellement_Simple()
Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
Range(Cells(IIf(IsEmpty(c.Rows(1)), c.Rows(1).End(xlDown).Row, 1), c.Column), _
Cells(IIf(IsEmpty(c.Rows(c.Rows.Count)), c.Rows(c.Rows.Count).End(xlUp).Row, _
c.Rows.Count), c.Column)).Select
End Sub
Serge
"isabelle" a écrit dans le message de news: idu0pv$dq7$et la tienne également, là v'la un peu condensé,
Sub Première_Dernière2()
Dim L1 As Long, L2 As Long, Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
If Not IsEmpty(c.Rows(1)) Then L1 = 1 Else L1 = c.Rows(1).End(xlDown).Row
If Not IsEmpty(c.Rows(c.Rows.Count)) Then L2 = c.Rows.Count Else L2 = c.Rows(c.Rows.Count).End(xlUp).Row
Range(Cells(L1, c.Column), Cells(L2, c.Column)).Select
End Sub
Bonne fin de semaine Isabelle et essaie de ne pas congeler si
tu mets le bout du nez dehors. Et pour rigoler :
Sub Tellement_Simple()
Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
Range(Cells(IIf(IsEmpty(c.Rows(1)), c.Rows(1).End(xlDown).Row, 1), c.Column), _
Cells(IIf(IsEmpty(c.Rows(c.Rows.Count)), c.Rows(c.Rows.Count).End(xlUp).Row, _
c.Rows.Count), c.Column)).Select
End Sub
Serge
"isabelle" a écrit dans le message de news: idu0pv$dq7$et la tienne également, là v'la un peu condensé,
Sub Première_Dernière2()
Dim L1 As Long, L2 As Long, Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
If Not IsEmpty(c.Rows(1)) Then L1 = 1 Else L1 = c.Rows(1).End(xlDown).Row
If Not IsEmpty(c.Rows(c.Rows.Count)) Then L2 = c.Rows.Count Else L2 = c.Rows(c.Rows.Count).End(xlUp).Row
Range(Cells(L1, c.Column), Cells(L2, c.Column)).Select
End Sub
Bonne fin de semaine Isabelle et essaie de ne pas congeler si
tu mets le bout du nez dehors. Et pour rigoler :
Sub Tellement_Simple()
Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
Range(Cells(IIf(IsEmpty(c.Rows(1)), c.Rows(1).End(xlDown).Row, 1), c.Column), _
Cells(IIf(IsEmpty(c.Rows(c.Rows.Count)), c.Rows(c.Rows.Count).End(xlUp).Row, _
c.Rows.Count), c.Column)).Select
End Sub
Serge
"isabelle"<i@v.org> a écrit dans le message de news: idu0pv$dq7$1@speranza.aioe.org...
et la tienne également, là v'la un peu condensé,
Sub Première_Dernière2()
Dim L1 As Long, L2 As Long, Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
If Not IsEmpty(c.Rows(1)) Then L1 = 1 Else L1 = c.Rows(1).End(xlDown).Row
If Not IsEmpty(c.Rows(c.Rows.Count)) Then L2 = c.Rows.Count Else L2 = c.Rows(c.Rows.Count).End(xlUp).Row
Range(Cells(L1, c.Column), Cells(L2, c.Column)).Select
End Sub
Bonne fin de semaine Isabelle et essaie de ne pas congeler si
tu mets le bout du nez dehors. Et pour rigoler :
Sub Tellement_Simple()
Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
Range(Cells(IIf(IsEmpty(c.Rows(1)), c.Rows(1).End(xlDown).Row, 1), c.Column), _
Cells(IIf(IsEmpty(c.Rows(c.Rows.Count)), c.Rows(c.Rows.Count).End(xlUp).Row, _
c.Rows.Count), c.Column)).Select
End Sub
Serge
"isabelle" a écrit dans le message de news: idu0pv$dq7$et la tienne également, là v'la un peu condensé,
Sub Première_Dernière2()
Dim L1 As Long, L2 As Long, Dim c As Range
Set c = Columns(ActiveCell.Column)
If Application.CountA(c) = 0 Then MsgBox "Aucune valeur dans cette colonne.": Exit Sub
If Not IsEmpty(c.Rows(1)) Then L1 = 1 Else L1 = c.Rows(1).End(xlDown).Row
If Not IsEmpty(c.Rows(c.Rows.Count)) Then L2 = c.Rows.Count Else L2 = c.Rows(c.Rows.Count).End(xlUp).Row
Range(Cells(L1, c.Column), Cells(L2, c.Column)).Select
End Sub
http://www.cijoint.fr/cjlink.php?file=cj201012/cijPx1sNKa.xls
Les explications ont été données sur les autres messages de ce fil.
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
idtt5u$4tg$
En tous cas, en reprenant ton exemple; ma macro, celle de Daniel
et la tienne sélectionnent la même plage :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijaK91wkg.xls
Peux-tu me trouver un cas où les macros ne donneraient pas toutes
le même résultat ?
Serge
"michdenis" a écrit dans le message de news:
idts2m$2cd$C'est mieux, mais tu ne crois sûrement pas que tu vas t'en tirer aussi
facilement ;-)) essaie d'appliquer ta méthode à la colonne 1 du fichier
que je te propose !
http://cjoint.com/?0mktIKBMUn7
MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion :
idtqui$vfv$
à force de ...
On Error Resume Next
Set plg1 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeConstants, 23)
Set plg2 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeFormulas, 23)
a = Application.Substitute(Application.Substitute(plg1.Address & "," &
plg2.Address, Left(ActiveCell.Address, 3), " "),
":", ",")
n = Split(a, ",")
For i = 0 To UBound(n)
If CDbl(n(i)) < n(1) Then x = CDbl(n(i))
If CDbl(n(i)) > n(1) Then y = CDbl(n(i))
Next i
Range(Cells(x, ActiveCell.Column), Cells(y, ActiveCell.Column)).Select
isabelle
Le 2010-12-10 10:53, michdenis a écrit :Je crois que tu tentes de nous en passer une vite...;-))
Je n'obtiens pas le résultat espéré !
Ma plage débute et se terminer par une cellule contenant ce genre de
formule : =SI(B3="";"") et entre les deux, des cellules contenant des
constantes...
MichD
--------------------------------------------
http://www.cijoint.fr/cjlink.php?file=cj201012/cijPx1sNKa.xls
Les explications ont été données sur les autres messages de ce fil.
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
idtt5u$4tg$1@speranza.aioe.org...
En tous cas, en reprenant ton exemple; ma macro, celle de Daniel
et la tienne sélectionnent la même plage :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijaK91wkg.xls
Peux-tu me trouver un cas où les macros ne donneraient pas toutes
le même résultat ?
Serge
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
idts2m$2cd$1@speranza.aioe.org...
C'est mieux, mais tu ne crois sûrement pas que tu vas t'en tirer aussi
facilement ;-)) essaie d'appliquer ta méthode à la colonne 1 du fichier
que je te propose !
http://cjoint.com/?0mktIKBMUn7
MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion :
idtqui$vfv$1@speranza.aioe.org...
à force de ...
On Error Resume Next
Set plg1 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeConstants, 23)
Set plg2 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeFormulas, 23)
a = Application.Substitute(Application.Substitute(plg1.Address & "," &
plg2.Address, Left(ActiveCell.Address, 3), " "),
":", ",")
n = Split(a, ",")
For i = 0 To UBound(n)
If CDbl(n(i)) < n(1) Then x = CDbl(n(i))
If CDbl(n(i)) > n(1) Then y = CDbl(n(i))
Next i
Range(Cells(x, ActiveCell.Column), Cells(y, ActiveCell.Column)).Select
isabelle
Le 2010-12-10 10:53, michdenis a écrit :
Je crois que tu tentes de nous en passer une vite...;-))
Je n'obtiens pas le résultat espéré !
Ma plage débute et se terminer par une cellule contenant ce genre de
formule : =SI(B3="";"") et entre les deux, des cellules contenant des
constantes...
MichD
--------------------------------------------
http://www.cijoint.fr/cjlink.php?file=cj201012/cijPx1sNKa.xls
Les explications ont été données sur les autres messages de ce fil.
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
idtt5u$4tg$
En tous cas, en reprenant ton exemple; ma macro, celle de Daniel
et la tienne sélectionnent la même plage :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijaK91wkg.xls
Peux-tu me trouver un cas où les macros ne donneraient pas toutes
le même résultat ?
Serge
"michdenis" a écrit dans le message de news:
idts2m$2cd$C'est mieux, mais tu ne crois sûrement pas que tu vas t'en tirer aussi
facilement ;-)) essaie d'appliquer ta méthode à la colonne 1 du fichier
que je te propose !
http://cjoint.com/?0mktIKBMUn7
MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion :
idtqui$vfv$
à force de ...
On Error Resume Next
Set plg1 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeConstants, 23)
Set plg2 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeFormulas, 23)
a = Application.Substitute(Application.Substitute(plg1.Address & "," &
plg2.Address, Left(ActiveCell.Address, 3), " "),
":", ",")
n = Split(a, ",")
For i = 0 To UBound(n)
If CDbl(n(i)) < n(1) Then x = CDbl(n(i))
If CDbl(n(i)) > n(1) Then y = CDbl(n(i))
Next i
Range(Cells(x, ActiveCell.Column), Cells(y, ActiveCell.Column)).Select
isabelle
Le 2010-12-10 10:53, michdenis a écrit :Je crois que tu tentes de nous en passer une vite...;-))
Je n'obtiens pas le résultat espéré !
Ma plage débute et se terminer par une cellule contenant ce genre de
formule : =SI(B3="";"") et entre les deux, des cellules contenant des
constantes...
MichD
--------------------------------------------
http://www.cijoint.fr/cjlink.php?file=cj201012/cijPx1sNKa.xls
Les explications ont été données sur les autres messages de ce fil.
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
idtt5u$4tg$
En tous cas, en reprenant ton exemple; ma macro, celle de Daniel
et la tienne sélectionnent la même plage :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijaK91wkg.xls
Peux-tu me trouver un cas où les macros ne donneraient pas toutes
le même résultat ?
Serge
"michdenis" a écrit dans le message de news:
idts2m$2cd$C'est mieux, mais tu ne crois sûrement pas que tu vas t'en tirer aussi
facilement ;-)) essaie d'appliquer ta méthode à la colonne 1 du fichier
que je te propose !
http://cjoint.com/?0mktIKBMUn7
MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion :
idtqui$vfv$
à force de ...
On Error Resume Next
Set plg1 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeConstants, 23)
Set plg2 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeFormulas, 23)
a = Application.Substitute(Application.Substitute(plg1.Address & "," &
plg2.Address, Left(ActiveCell.Address, 3), " "),
":", ",")
n = Split(a, ",")
For i = 0 To UBound(n)
If CDbl(n(i)) < n(1) Then x = CDbl(n(i))
If CDbl(n(i)) > n(1) Then y = CDbl(n(i))
Next i
Range(Cells(x, ActiveCell.Column), Cells(y, ActiveCell.Column)).Select
isabelle
Le 2010-12-10 10:53, michdenis a écrit :Je crois que tu tentes de nous en passer une vite...;-))
Je n'obtiens pas le résultat espéré !
Ma plage débute et se terminer par une cellule contenant ce genre de
formule : =SI(B3="";"") et entre les deux, des cellules contenant des
constantes...
MichD
--------------------------------------------
http://www.cijoint.fr/cjlink.php?file=cj201012/cijPx1sNKa.xls
Les explications ont été données sur les autres messages de ce fil.
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
idtt5u$4tg$1@speranza.aioe.org...
En tous cas, en reprenant ton exemple; ma macro, celle de Daniel
et la tienne sélectionnent la même plage :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijaK91wkg.xls
Peux-tu me trouver un cas où les macros ne donneraient pas toutes
le même résultat ?
Serge
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
idts2m$2cd$1@speranza.aioe.org...
C'est mieux, mais tu ne crois sûrement pas que tu vas t'en tirer aussi
facilement ;-)) essaie d'appliquer ta méthode à la colonne 1 du fichier
que je te propose !
http://cjoint.com/?0mktIKBMUn7
MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion :
idtqui$vfv$1@speranza.aioe.org...
à force de ...
On Error Resume Next
Set plg1 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeConstants, 23)
Set plg2 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeFormulas, 23)
a = Application.Substitute(Application.Substitute(plg1.Address & "," &
plg2.Address, Left(ActiveCell.Address, 3), " "),
":", ",")
n = Split(a, ",")
For i = 0 To UBound(n)
If CDbl(n(i)) < n(1) Then x = CDbl(n(i))
If CDbl(n(i)) > n(1) Then y = CDbl(n(i))
Next i
Range(Cells(x, ActiveCell.Column), Cells(y, ActiveCell.Column)).Select
isabelle
Le 2010-12-10 10:53, michdenis a écrit :
Je crois que tu tentes de nous en passer une vite...;-))
Je n'obtiens pas le résultat espéré !
Ma plage débute et se terminer par une cellule contenant ce genre de
formule : =SI(B3="";"") et entre les deux, des cellules contenant des
constantes...
MichD
--------------------------------------------
http://www.cijoint.fr/cjlink.php?file=cj201012/cijPx1sNKa.xls
Les explications ont été données sur les autres messages de ce fil.
MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :
idtt5u$4tg$
En tous cas, en reprenant ton exemple; ma macro, celle de Daniel
et la tienne sélectionnent la même plage :
http://www.cijoint.fr/cjlink.php?file=cj201012/cijaK91wkg.xls
Peux-tu me trouver un cas où les macros ne donneraient pas toutes
le même résultat ?
Serge
"michdenis" a écrit dans le message de news:
idts2m$2cd$C'est mieux, mais tu ne crois sûrement pas que tu vas t'en tirer aussi
facilement ;-)) essaie d'appliquer ta méthode à la colonne 1 du fichier
que je te propose !
http://cjoint.com/?0mktIKBMUn7
MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion :
idtqui$vfv$
à force de ...
On Error Resume Next
Set plg1 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeConstants, 23)
Set plg2 = Columns(ActiveCell.Column).SpecialCells(xlCellTypeFormulas, 23)
a = Application.Substitute(Application.Substitute(plg1.Address & "," &
plg2.Address, Left(ActiveCell.Address, 3), " "),
":", ",")
n = Split(a, ",")
For i = 0 To UBound(n)
If CDbl(n(i)) < n(1) Then x = CDbl(n(i))
If CDbl(n(i)) > n(1) Then y = CDbl(n(i))
Next i
Range(Cells(x, ActiveCell.Column), Cells(y, ActiveCell.Column)).Select
isabelle
Le 2010-12-10 10:53, michdenis a écrit :Je crois que tu tentes de nous en passer une vite...;-))
Je n'obtiens pas le résultat espéré !
Ma plage débute et se terminer par une cellule contenant ce genre de
formule : =SI(B3="";"") et entre les deux, des cellules contenant des
constantes...
MichD
--------------------------------------------
Salutatous et toutes,
Je veux pourtant faire quelque chose de tout simple :
À partir d'une cellule active quelconque, sélectionner par macro la plage
s'étendant de la première cellule non vide de la colonne contenant la cellule active
à la dernière cellule non vide de ladite colonne. En prévoyant to us les cas de figure!
Peux pas croire qu'il n'y a pas quelque chose de moins tordu que ça :
Sub Première_Dernière()
Dim L1 As Long, L2 As Long, NL As Long
Dim c As Range
Dim a As Range
Set a = ActiveCell
Set c = Columns(a.Column)
If Application.CountA(c) = 0 Then
MsgBox "Aucune valeur dans cette colonne."
Exit Sub
End If
NL = c.Rows.Count
col = a.Column
If Not IsEmpty(c.Rows(1)) Then
L1 = 1
Else
L1 = c.Rows(1).End(xlDown).Row
End If
If Not IsEmpty(c.Rows(NL)) Then
L2 = NL
Else
L2 = c.Rows(NL).End(xlUp).Row
End If
Range(Cells(L1, col), Cells(L2, col)).Select
End Sub
Qu'en pensez-vous ?
A+
Serge
Salutatous et toutes,
Je veux pourtant faire quelque chose de tout simple :
À partir d'une cellule active quelconque, sélectionner par macro la plage
s'étendant de la première cellule non vide de la colonne contenant la cellule active
à la dernière cellule non vide de ladite colonne. En prévoyant to us les cas de figure!
Peux pas croire qu'il n'y a pas quelque chose de moins tordu que ça :
Sub Première_Dernière()
Dim L1 As Long, L2 As Long, NL As Long
Dim c As Range
Dim a As Range
Set a = ActiveCell
Set c = Columns(a.Column)
If Application.CountA(c) = 0 Then
MsgBox "Aucune valeur dans cette colonne."
Exit Sub
End If
NL = c.Rows.Count
col = a.Column
If Not IsEmpty(c.Rows(1)) Then
L1 = 1
Else
L1 = c.Rows(1).End(xlDown).Row
End If
If Not IsEmpty(c.Rows(NL)) Then
L2 = NL
Else
L2 = c.Rows(NL).End(xlUp).Row
End If
Range(Cells(L1, col), Cells(L2, col)).Select
End Sub
Qu'en pensez-vous ?
A+
Serge
Salutatous et toutes,
Je veux pourtant faire quelque chose de tout simple :
À partir d'une cellule active quelconque, sélectionner par macro la plage
s'étendant de la première cellule non vide de la colonne contenant la cellule active
à la dernière cellule non vide de ladite colonne. En prévoyant to us les cas de figure!
Peux pas croire qu'il n'y a pas quelque chose de moins tordu que ça :
Sub Première_Dernière()
Dim L1 As Long, L2 As Long, NL As Long
Dim c As Range
Dim a As Range
Set a = ActiveCell
Set c = Columns(a.Column)
If Application.CountA(c) = 0 Then
MsgBox "Aucune valeur dans cette colonne."
Exit Sub
End If
NL = c.Rows.Count
col = a.Column
If Not IsEmpty(c.Rows(1)) Then
L1 = 1
Else
L1 = c.Rows(1).End(xlDown).Row
End If
If Not IsEmpty(c.Rows(NL)) Then
L2 = NL
Else
L2 = c.Rows(NL).End(xlUp).Row
End If
Range(Cells(L1, col), Cells(L2, col)).Select
End Sub
Qu'en pensez-vous ?
A+
Serge