Déterminer le N° de ligne

  • Initiateur de la discussion Initiateur de la discussion Hugues
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hugues

XLDnaute Impliqué
Bonjour Le Forum,

Au sein d'un boucle, je souhaiterais connaitre le code afin :
- de déterminer la première ligne de compte dont le N° >200 000
(dans l'exemple la ligne N°17 => donc renseigner la variable Deb2=17)
- de déterminer la dernière ligne de compte dont le N° 279 999
(dans l'exemple la ligne N°23 => donc renseigner la variable Fin2=23)
- de déterminer la première ligne de compte dont le N° >280 000
(dans l'exemple la ligne N°26 => donc renseigner la variable Deb28=26)
- de déterminer la dernière ligne de compte dont le N° 289 999
(dans l'exemple la ligne N°38 => donc renseigner la variable Fin28=38)

Tous les libellés commencent par "Total du compte "(18 caractéres dont les espaces à la fin), suivi du N° de compte.

Pourriez vous m'aider sur ce sujet ?
Je vous joins l'exemple.
Un grand merci par avance,

Hugues
 

Pièces jointes

Re : Déterminer le N° de ligne

Bonjour Hugues,

Il vaut mieux utiliser des cellules intermédiaires avec leurs formules dans la feuille de calcul, comme je l'ai fait dans le fichier ci-joint (colonne P).

Vous vous rendez compte que traduire ces formules (matricielles) en VBA, c'est tout sauf évident...

A+
 

Pièces jointes

Re : Déterminer le N° de ligne

Re,

Relisant votre post, je crois comprendre que vous voulez faire une boucle justement pour déterminer ces valeurs.

En effet avec une boucle c'est assez simple. Sur le fichier joint cliquez sur le bouton.

Voici la macro :

Code:
Sub Balayage()
Dim cel As Range, Ncompte As Long, Deb2 As Long, Fin2 As Long, Deb28 As Long, Fin28 As Long
For Each cel In Range("E2:E" & Range("E65536").End(xlUp).Row)
If Left(cel, 5) = "Total" Then
Ncompte = 1 * Mid(cel, 19, 10)
If Deb2 = 0 And Ncompte >= 200000 Then Deb2 = cel.Row
If Ncompte <= 279999 Then Fin2 = cel.Row
If Deb28 = 0 And Ncompte >= 280000 Then Deb28 = cel.Row
If Ncompte <= 289999 Then Fin28 = cel.Row
End If
Next
MsgBox "Deb2=" & Deb2 & "  Fin2=" & Fin2 & "  Deb28=" & Deb28 & "  Fin28=" & Fin28
End Sub


A+

Edition : j'ai remplacé les < et les > par <= et >= c'est plus logique il me semble
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
647
Retour