Bogue boucle "do Until...loop"

cbenali

XLDnaute Nouveau
Bonjour tout le monde,

D'avance je m'excuse s'il existe déjà un sujet qui ressemble au miens mais moi j'ai cherché et pas trouvé mon bonheur :)

J'ai un bogue dans un code qui a toujours fonctionné (la macro est utilisée mensuellement depuis des années).

Quand j'exécute ma macro, elle s'arrête après quelques secondes. Je clique sur "débogage" et la ligné surlignée est celle du début de la boucle "do until"

Voici le code en entier (la ligne qui bogue est la 4ème après "Dim..."

Avez-vous une idée d'où Est-ce que ça pourrait venir svp ?




Sub decoupage(destination)
'
' decoupage Macro
'
Dim lig As Long
Dim zonage As Range
lig = 1

Do Until Cells(lig, 1) = "FINAL "
If Cells(lig, 1) = "ENTETE" Then
Cells(lig + 1, 1).Select
Selection.EntireRow.Insert

'chargement des donnees entete en bb1
entete lig
End If
If Cells(lig, 1) = "FINENT" Then
Cells(lig, 1).Select
Selection.EntireRow.Insert
lig = lig + 1

'chargement des donnees finent en bb10
pied lig

' copie des lignes détails
Range(Cells(lig - 2, 3).Address).CurrentRegion.Copy
entitesheet.Select
Range("B8").PasteSpecial Paste:=xlValues

' recherche de la fin de la feuille
Set zonage = Range(Selection.Address)

' mise en forme du format des cellules et bordure de la fin
Range("B8:AY8").Copy
zonage.PasteSpecial Paste:=xlFormats

' bordure de fin
zonage.Rows(zonage.Rows.Count).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With

' définition de la zone d'impression
ActiveSheet.PageSetup.PrintArea = Selection.CurrentRegion.Address
'
'
' ajustement de la largeur des colonnes & positionement en A1
Columns("A:AY").AutoFit
Range("A1").Select
' ajustement de la largeur de la colonne B
Columns("B:B").Select
Selection.ColumnWidth = 6
' ajustement de la largeur de la colonne A
Columns("A:A").Select
Selection.ColumnWidth = 1
'
' ydu masque la colonne P si somme colonne P = 0
MasqueColonneP
'
' protection de la feuille
' mise en commentaire le 04/07/2013
' ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

' THH
Nomf = ActiveSheet.Name
ActiveSheet.Move
' ActiveWorkbook.SaveAs (destination & "PR_" & Nomf & "_" & Left(Range("$BB$3"), 4) & Left(Range("$BB$22"), 5) & Right(Range("$BB$4"), 2) & ".xls")
DefaultFilePath = "C:\AERETOUR\"
ActiveWorkbook.SaveAs (destination & "PR__STD_" & Nomf & "_" & Left(Range("$BB$3"), 5) & Right(Range("$BB$4"), 2) & ".xlsx")
DefaultFilePath = "C:\AERETOUR\"
ActiveWorkbook.Close
' Workbooks(Workbooks.Count).Close
' THH

provsheet.Select
End If
lig = lig + 1
Loop

End Sub
 

Caillou

XLDnaute Impliqué
Re : Bogue boucle "do Until...loop"

Bonjour,

Elle s'arrête après quelques secondes, mais tu as un message d'erreur ? Lequel ?
si tu peux accéder au débogage, tu peux pointer la variable lig pour connaître sa valeur !
sinon il faut poster le fichier ...

Caillou
 

cbenali

XLDnaute Nouveau
Re : Bogue boucle "do Until...loop"

Bonjour caillou,

Merci pour ta réponse rapide.

En fait je n'ai pas de message d'erreur à part la notification du bogue (Ci-joint des copies d'écran).

Pour le fichier je ne pense pas qu'il sera d'une grande utilité car il s'agit d'une macro qui utilise des données de production réelle, en faisant appel à d'autres fichiers placés sur le réseau. Mais aussi en pointant sur une base de données commerciale réelle. donc hormis la confidentialité des données, le fichier ne te servira à rien puisqu'il y'a pas toutes les composantes nécessaires à l'exécution.

Merci encore.
 

Pièces jointes

  • Description.docx
    70.8 KB · Affichages: 29

Caillou

XLDnaute Impliqué
Re : Bogue boucle "do Until...loop"

re,
as-tu pointer le nom de ta variable pour en afficher la valeur ?
peut-être on est pas sur une feuille de calcul à ce moment de l'exécution ?
il faut utiliser les outils de débogage (comme la fenêtre Exécution)

Caillou
 

Caillou

XLDnaute Impliqué
Re : Bogue boucle "do Until...loop"

en mode débogage (quand la ligne est jaune)
-tu pointes (avec la souris) la variable que tu veux espionner (par exemple lig) ; sa valeur s'affiche dans une info-bulle
-tu vas dans affichage / fenêtre exécution
* dans la fenetre qui est apparu tu peux taper par exemple ?activesheet.name (pour afficher le nom de la feuille active a ce moment la de l'exécution) ; ce qui te permet par exemple de voir si c'est bien la bonne ....
c'est difficile sans fichier

Caillou
 

cbenali

XLDnaute Nouveau
Re : Bogue boucle "do Until...loop"

J'ai fait comme tu m'as indiqué. j'ai un numéro dans l'info bulle (comme montré dans la copie ci-jointe) mais ça ne me dit rien :/

Pour la fenêtre d'exécution, j'ai le nom du fichier éventuellement à la source (il s'appelle "provis" comme indiqué dans la copie ci-jointe). C'est un programme qu'on ne modifie pratiquement jamais quand on lance la macro et qui est utilisé pour indiquer à la macro les données qu'il faut aller chercher dans la base de donnée de production!

Partant du fait qu'on connaît mnt le fichier source du problème et la valeur de la variable espionnée, cela Est-ce suffisant pour conclure quelque chose ? (désolé si je pose des questions innocentes mais c'est juste parce-que VBA c'est pas ma tasse de thé :p)

Merci
 

Pièces jointes

  • Fenêtre d'exécution.docx
    229.6 KB · Affichages: 28

Modeste geedee

XLDnaute Barbatruc
Re : Bogue boucle "do Until...loop"

Bonsour®
1 084xxx.
cela veux simplement dire que l'on a atteint la fin de la colonne (nbr de ligne maxi d'une feuille de calcul)
et qu'il n'existe pas de cellule : cells(lig,1)= "FINAL "

- peut etre que ce n'est pas le bon fichier
- peut-être que quelqu'un a corrigé les données et que maintenant il faille tester :
cells(lig,1)= "FINAL" sans espace à FINAL
ou bien un autre mot
 

cbenali

XLDnaute Nouveau
Re : Bogue boucle "do Until...loop"

Merci à vous deux pour l'idée.

J'ai essayé sans l'espace après FINAL et j'ai toujours le bogue.
Je crois effectivement que cela pourrait prévenir d'une modification que la DSI a fait dans un programme.
Je creuse un peu plus et il se peut que je revienne vers vous plus tard :)

Merci bcp et passez un bon WE!
 

Discussions similaires

Réponses
3
Affichages
607
Réponses
16
Affichages
2 K
Réponses
8
Affichages
681

Statistiques des forums

Discussions
312 488
Messages
2 088 860
Membres
103 978
dernier inscrit
bderradji