Boucle while erreur de capacité
anna
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai crée une boucle while qui recherche un numéro de NIDT (pris dans le fichier "detailV&R") dans une colonne d'un autre fichier ( fichier "fichier melody 2014") quand elle l'a trouvé elle récupère et note des informations si rapportant dans un autre fichier (partie non retranscrite). Le pb c'est que lorsque le numéro NIDT recherché n'existe pas dans la colonne la macro bug et dit "erreur de capacité" malgré le fait que j'ai mis un "on error goto".
Pouvez vous m'aider à résoudre ce pb?
Merci
Anna
Voici la macro:
Sub NIDT()
début:
Dim NIDT As String
Dim m, N As Integer
Dim DernLigne As Long
Dim myRange As Range
'On récupere le numéro de la dernière ligne du fichier "Détail_V&R test"
Windows("Détail_V&R test.xls").Activate
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
For m = 2 To DernLigne
Windows("macro.xls").Activate
If Cells(m, 8) = "" Then
Windows("Détail_V&R test.xls").Activate
NIDT = Cells(m, 8).Value
Windows("fichier melody 2014.xls").Activate
While Cells(N, 3) <> NIDT
'TANT QUE la ligne n'est pas egale au n° NIDT
N = N + 1'Le numéro est augmenté de 1 à chaque boucle
On Error GoTo suite
Wend
suite:
MsgBox "je n'ai pas traité ce fichier" & NIDT
GoTo début
End Sub
j'ai crée une boucle while qui recherche un numéro de NIDT (pris dans le fichier "detailV&R") dans une colonne d'un autre fichier ( fichier "fichier melody 2014") quand elle l'a trouvé elle récupère et note des informations si rapportant dans un autre fichier (partie non retranscrite). Le pb c'est que lorsque le numéro NIDT recherché n'existe pas dans la colonne la macro bug et dit "erreur de capacité" malgré le fait que j'ai mis un "on error goto".
Pouvez vous m'aider à résoudre ce pb?
Merci
Anna
Voici la macro:
Sub NIDT()
début:
Dim NIDT As String
Dim m, N As Integer
Dim DernLigne As Long
Dim myRange As Range
'On récupere le numéro de la dernière ligne du fichier "Détail_V&R test"
Windows("Détail_V&R test.xls").Activate
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
For m = 2 To DernLigne
Windows("macro.xls").Activate
If Cells(m, 8) = "" Then
Windows("Détail_V&R test.xls").Activate
NIDT = Cells(m, 8).Value
Windows("fichier melody 2014.xls").Activate
While Cells(N, 3) <> NIDT
'TANT QUE la ligne n'est pas egale au n° NIDT
N = N + 1'Le numéro est augmenté de 1 à chaque boucle
On Error GoTo suite
Wend
suite:
MsgBox "je n'ai pas traité ce fichier" & NIDT
GoTo début
End Sub
A voir également:
- Boucle while erreur de capacité
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
- Pc qui s'allume et s'éteint en boucle - Forum Matériel & Système
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
1 réponse
Bonjour,
Normal car tu n'as pas mis de "butée" (dernière ligne) à la colonne "C" donc tu boucles jusqu'à dépasser la capacité
ce que j'aurais écris (impossible à tester)
Normal car tu n'as pas mis de "butée" (dernière ligne) à la colonne "C" donc tu boucles jusqu'à dépasser la capacité
ce que j'aurais écris (impossible à tester)
Windows("fichier melody 2014.xls").Activate
If Application.CountIf(Columns("C"), NIDT) = 0 Then
MsgBox "blabla"
GoTo suite
Else
N = Columns("C").Find(NIDT, Cells(1, "C"), xlValues).Row
End If