cerhu > microsoft.* > microsoft.excel

JeanPaulo (01/06/2019, 06h45)
Bonjour.

J'aurais besoin de connaître de façon simple (VBA) le nombre de lignes
utilisées dans une feuille. Actuellement, j'utilise un GRAND nombre pour ne
pas avoir à le changer souvent dans le code. Je n'ai pas trouvé sur le web
de méthode simple.

Question subsidiaire : Quand on clique sur le carré le plus haut à gauche,
on sélectionne toute la page. Un nombre s'affiche dans le second rectangle
du bas.

Il semble lié au nombre de lignes, mais toujours supérieur. Qu'est-ce que
c'est ?

Merci d'avance.
MichD (01/06/2019, 13h10)
Bonjour,

Tu remarqueras que le code est différent selon que la feuille contient
des formules ou simplement des valeurs. La dernière ligne peut contenir
à l'occasion des formules qui retournent "" . Et pour tenir compte de
cette possibilité, il faut utiliser le bon code.

'Déclaration des variables
Dim DerLig As Long, DerCol As Long

With Worksheets("Feuil1")
'donne la dernière ligne occupée
'soit par une valeur ou une formule
DerLig = .Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

'donne la dernière ligne occupée par une valeur
DerLig = .Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

'donne la dernière colonne occupée
'soit par une valeur ou une formule
DerCol = .Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

'donne la dernière colonne occupée par une valeur
DerCol = .Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

'Donne L'adresse de la dernière cellule occupée
MsgBox .Cells(DerLig, DerCol).Address
End With

Si tu as sélectionné toute la feuille, le nombre de lignes est égal au
nombre maximum de lignes de la feuille soit : 1048576

MichD
Jacquouille (01/06/2019, 13h16)
Bonjour,

derL= Cells(Rows.Count, 1).End(xlUp).Row

Donnera la dernière ligne occupée en colonne A.
Si tu veux colonne B, change le Count,1 en 2 ...

Jacques
" Le vin est au repas ce que le parfum est à la femme."
..
"JeanPaulo" a écrit dans le message de groupe de discussion :
m4qdnVzh8Nhjn2_BnZ2dnUU78LGdnZ2d...

Bonjour.

J'aurais besoin de connaître de façon simple (VBA) le nombre de lignes
utilisées dans une feuille. Actuellement, j'utilise un GRAND nombre pour ne
pas avoir à le changer souvent dans le code. Je n'ai pas trouvé sur le web
de méthode simple.

Question subsidiaire : Quand on clique sur le carré le plus haut à gauche,
on sélectionne toute la page. Un nombre s'affiche dans le second rectangle
du bas.

Il semble lié au nombre de lignes, mais toujours supérieur. Qu'est-ce que
c'est ?

Merci d'avance.
JeanPaulo (01/06/2019, 14h59)
MichD <MichDenis> wrote in
news:qctmeb$174i$1:

> Bonjour,
> Tu remarqueras que le code est différent selon que la feuille
> contient des formules ou simplement des valeurs. La dernière ligne
> peut contenir à l'occasion des formules qui retournent "" . Et pour
> tenir compte de cette possibilité, il faut utiliser le bon code.

Merci. je vais ?tudier cette solution. Mais la phrase 's?lectionner' me
trouble, car je na veux pas s?lectionner les lignes ? l'avance.
JeanPaulo (01/06/2019, 15h04)
Merci. Ca me semble simple. je vais tester.

"Jacquouille" <j.thiernesse> wrote in
news:qctmqd$18ne$1:
[..]
JeanPaulo (01/06/2019, 15h12)
"Jacquouille" <j.thiernesse> wrote in
news:qctmqd$18ne$1:

> Bonjour,
> derL= Cells(Rows.Count, 1).End(xlUp).Row

Merci beaucoup. Juste un test rapide sans fioriture. Oui, ça marche au
poil...

@+, JeanPaulo
MichD (01/06/2019, 16h54)
> Merci. je vais étudier cette solution. Mais la phrase 'sélectionner' me
> trouble, car je na veux pas sélectionner les lignes à l'avance.


Le code ne requiert aucune sélection.

MichD
MichD (01/06/2019, 16h56)
Le 01/06/19 à 09:12, JeanPaulo a écrit :
> "Jacquouille" <j.thiernesse> wrote in
> news:qctmqd$18ne$1:
>> Bonjour,
>> derL= Cells(Rows.Count, 1).End(xlUp).Row

> Merci beaucoup. Juste un test rapide sans fioriture. Oui, ça marche au
> poil...
> @+, JeanPaulo


Cela ne te donne pas la dernière ligne occupée dans la feuille, mais
seulement la dernière ligne occupée dans une colonne particulière de la
feuille.

MichD
JeanPaulo (02/06/2019, 07h06)
MichD <MichDenis> wrote in
news:qcu3mr$11bo$2:

> Le 01/06/19 à 09:12, JeanPaulo a écrit :
> Cela ne te donne pas la dernière ligne occupée dans la feuille, mais
> seulement la dernière ligne occupée dans une colonne particulière
> de la feuille.
> MichD

Oui, j'ai bien not? cela, mais ma feuille DOIT contenir quelques chose dans
cette colonne. Le but est de cacher temporairement les lignes qui ne
comportent pas un mot (comme le 'chercher', mais multi lignes en m?me
temps)
JeanPaulo (02/06/2019, 08h12)
"Jacquouille" <j.thiernesse> wrote in
news:qctmqd$18ne$1:

> Bonjour,
> derL= Cells(Rows.Count, 1).End(xlUp).Row
> Donnera la dernière ligne occupée en colonne A.
> Si tu veux colonne B, change le Count,1 en 2 ...

Juste pour montrer, ce code marche bien pour mon besoin: (peut-être pas
élégant...) La colonne 2 contient des titres de films.

' Bouton_filtre DVD
' Macro crée le 2/6/2019 par Jean-Paulo
'
Dim Le_texte As String
Dim Le_dernier As Integer
Dim a As Integer
Dim derL As Long
Dim DerU As Long
Dim Dert As String
'
Le_texte = UCase(InputBox("Filtre ? (rien pour effacer le filtre)",
"Filtrage"))
'
derL = Cells(Rows.Count, 2).End(xlUp).Row
DerU = derL + 200
Dert = "A2:" + "W" + Format(DerU, "#")
'

If Le_texte = "" Then
a = 2
Range(Dert).Select
Selection.EntireRow.Hidden = False
For a = DerU To 2 Step -1
'Debug.Print Cells(a, 1)
If Cells(a, 1) = 0 Then Le_dernier = a
Next a
ActiveSheet.Cells(Le_dernier, 1).Select
Else
Range(Dert).Select
Selection.EntireRow.Hidden = True
For a = DerU To 5 Step -1
If InStr(1, UCase(Cells(a, 2)), Le_texte) = 0 And InStr(1, UCase
(Cells(a, 9)), Le_texte) = 0 Then
'Rows(a).Select
'Selection.EntireRow.Hidden = True
Else
Rows(a).Select
Selection.EntireRow.Hidden = False
End If
Next a
End If

End Sub

et le résultat avec 'Tristan'

Fini Tristan et Isolde Acte 1 G:\Video_raw\Wagner Tristan\Wagner -
Tristan 2.webm 1082 YouTube DVD9446a Son + st
ajoutés 162600
Fini Tristan et Isolde Acte 2 G:\Video_raw\Wagner Tristan\Wagner -
Tristan 2.webm YouTube DVD9446b
162600
Fini Tristan et Isolde Acte 3 G:\Video_raw\Wagner Tristan\Wagner -
Tristan 2.webm YouTube DVD9446c
162600
Jacquouille (02/06/2019, 11h51)
Triste fin pour Tristan et Isolde. -((

Jacques
" Le vin est au repas ce que le parfum est à la femme."
..
"JeanPaulo" a écrit dans le message de groupe de discussion :
84ednU_yYYki9W7BnZ2dnUU78VHNnZ2d...

"Jacquouille" <j.thiernesse> wrote in
news:qctmqd$18ne$1:

> Bonjour,
> derL= Cells(Rows.Count, 1).End(xlUp).Row
> Donnera la dernière ligne occupée en colonne A.
> Si tu veux colonne B, change le Count,1 en 2 ...

Juste pour montrer, ce code marche bien pour mon besoin: (peut-être pas
élégant...) La colonne 2 contient des titres de films.

' Bouton_filtre DVD
' Macro crée le 2/6/2019 par Jean-Paulo
'
Dim Le_texte As String
Dim Le_dernier As Integer
Dim a As Integer
Dim derL As Long
Dim DerU As Long
Dim Dert As String
'
Le_texte = UCase(InputBox("Filtre ? (rien pour effacer le filtre)",
"Filtrage"))
'
derL = Cells(Rows.Count, 2).End(xlUp).Row
DerU = derL + 200
Dert = "A2:" + "W" + Format(DerU, "#")
'

If Le_texte = "" Then
a = 2
Range(Dert).Select
Selection.EntireRow.Hidden = False
For a = DerU To 2 Step -1
'Debug.Print Cells(a, 1)
If Cells(a, 1) = 0 Then Le_dernier = a
Next a
ActiveSheet.Cells(Le_dernier, 1).Select
Else
Range(Dert).Select
Selection.EntireRow.Hidden = True
For a = DerU To 5 Step -1
If InStr(1, UCase(Cells(a, 2)), Le_texte) = 0 And InStr(1, UCase
(Cells(a, 9)), Le_texte) = 0 Then
'Rows(a).Select
'Selection.EntireRow.Hidden = True
Else
Rows(a).Select
Selection.EntireRow.Hidden = False
End If
Next a
End If

End Sub

et le résultat avec 'Tristan'

Fini Tristan et Isolde Acte 1 G:\Video_raw\Wagner Tristan\Wagner -
Tristan 2.webm 1082 YouTube DVD9446a Son + st
ajoutés 162600
Fini Tristan et Isolde Acte 2 G:\Video_raw\Wagner Tristan\Wagner -
Tristan 2.webm YouTube DVD9446b
162600
Fini Tristan et Isolde Acte 3 G:\Video_raw\Wagner Tristan\Wagner -
Tristan 2.webm YouTube DVD9446c
162600
albert (16/06/2019, 03h40)
"Jacquouille" <j.thiernesse> a écrit dans le message de
news:8ne1
[..]
Discussions similaires
masquer des lignes et inserer le meme nombre de lignes

[HTML] Form input : comment avoir 2 lignes actives ?

Nombre de signes par lignes / lignes par pages

Nombre de connexions actives


Fuseau horaire GMT +2. Il est actuellement 19h29. | Privacy Policy