bonjour,
je rencontre un problème dans une macro, sur une erreur,
le code suivant me donne le message suivant
Erreur d'exécution '91' :
Variable objet ou variable de bloc with non définie
If NumAutoOld <> "" Then
Cells.Find(What:=NumAutoOld, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
Cells.FindPrevious(After:=ActiveCell).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Range("B5").Select
ActiveSheet.Next.Select
Range("B5").Select
C'est ici que cela plante, mais le on error devrait passer la recherche
puisqu'il ne trouve pas le numéro ????
On Error GoTo PASS
Do Until Cells.Find(What:=NumAutoOld, After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate = False 'True
Cells.FindPrevious(After:=ActiveCell).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Range("B5").Select
Loop
PASS:
On Error GoTo 0
End If
De plus, je rencontre le même type de problème dans une autre macro, message
du 08/10/2006 à 10:40, macro testée par JLuc et LSteph qui fonctionne très
bien chez eux. Y aurait'il un souci sur ma machine et comment le résoudre
???
Merci par avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
1. As-tu essayé de compiler ton code (Dégogage/Compiler VBAProject) ?
2. Il est possible de simplifier ta macro car tu utilises beaucoup de Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un objet Range ou Cell.
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"daniel" a écrit dans le message de news:
bonjour, je rencontre un problème dans une macro, sur une erreur, le code suivant me donne le message suivant
Erreur d'exécution '91' : Variable objet ou variable de bloc with non définie
If NumAutoOld <> "" Then Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate Cells.FindPrevious(After:¬tiveCell).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp Range("B5").Select
ActiveSheet.Next.Select Range("B5").Select
C'est ici que cela plante, mais le on error devrait passer la recherche puisqu'il ne trouve pas le numéro ???? On Error GoTo PASS Do Until Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate = False 'True Cells.FindPrevious(After:¬tiveCell).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp Range("B5").Select
Loop PASS: On Error GoTo 0 End If
De plus, je rencontre le même type de problème dans une autre macro, message du 08/10/2006 à 10:40, macro testée par JLuc et LSteph qui fonctionne très bien chez eux. Y aurait'il un souci sur ma machine et comment le résoudre ??? Merci par avance.
Bonjour
1. As-tu essayé de compiler ton code (Dégogage/Compiler VBAProject) ?
2. Il est possible de simplifier ta macro car tu utilises beaucoup de
Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un
objet Range ou Cell.
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"daniel" <novice@neuf.fr> a écrit dans le message de news:
eYadXIS9GHA.4224@TK2MSFTNGP02.phx.gbl...
bonjour,
je rencontre un problème dans une macro, sur une erreur,
le code suivant me donne le message suivant
Erreur d'exécution '91' :
Variable objet ou variable de bloc with non définie
If NumAutoOld <> "" Then
Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
Cells.FindPrevious(After:¬tiveCell).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Range("B5").Select
ActiveSheet.Next.Select
Range("B5").Select
C'est ici que cela plante, mais le on error devrait passer la recherche
puisqu'il ne trouve pas le numéro ????
On Error GoTo PASS
Do Until Cells.Find(What:=NumAutoOld, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate = False 'True
Cells.FindPrevious(After:¬tiveCell).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Range("B5").Select
Loop
PASS:
On Error GoTo 0
End If
De plus, je rencontre le même type de problème dans une autre macro,
message du 08/10/2006 à 10:40, macro testée par JLuc et LSteph qui
fonctionne très bien chez eux. Y aurait'il un souci sur ma machine et
comment le résoudre ???
Merci par avance.
1. As-tu essayé de compiler ton code (Dégogage/Compiler VBAProject) ?
2. Il est possible de simplifier ta macro car tu utilises beaucoup de Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un objet Range ou Cell.
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"daniel" a écrit dans le message de news:
bonjour, je rencontre un problème dans une macro, sur une erreur, le code suivant me donne le message suivant
Erreur d'exécution '91' : Variable objet ou variable de bloc with non définie
If NumAutoOld <> "" Then Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate Cells.FindPrevious(After:¬tiveCell).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp Range("B5").Select
ActiveSheet.Next.Select Range("B5").Select
C'est ici que cela plante, mais le on error devrait passer la recherche puisqu'il ne trouve pas le numéro ???? On Error GoTo PASS Do Until Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate = False 'True Cells.FindPrevious(After:¬tiveCell).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp Range("B5").Select
Loop PASS: On Error GoTo 0 End If
De plus, je rencontre le même type de problème dans une autre macro, message du 08/10/2006 à 10:40, macro testée par JLuc et LSteph qui fonctionne très bien chez eux. Y aurait'il un souci sur ma machine et comment le résoudre ??? Merci par avance.
daniel
Bonjour et merci, Je viens de compiler le code, essayer, fermer le fichier, essayer, l'enregistrer sous un autre nom, mais ça ne fonctionne toujours pas. Je crains que ce soit du même ordre que mon problème du 08/10.
Pour le 2ème point, je suis preneur, mais je ne sais pas comment simplifier, j'avance très doucement en VBA.
2. Il est possible de simplifier ta macro car tu utilises beaucoup de Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un objet Range ou Cell.
Ok?
Bonjour et merci,
Je viens de compiler le code, essayer, fermer le fichier, essayer,
l'enregistrer sous un autre nom, mais ça ne fonctionne toujours pas.
Je crains que ce soit du même ordre que mon problème du 08/10.
Pour le 2ème point, je suis preneur, mais je ne sais pas comment simplifier,
j'avance très doucement en VBA.
2. Il est possible de simplifier ta macro car tu utilises beaucoup de
Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un
objet Range ou Cell.
Bonjour et merci, Je viens de compiler le code, essayer, fermer le fichier, essayer, l'enregistrer sous un autre nom, mais ça ne fonctionne toujours pas. Je crains que ce soit du même ordre que mon problème du 08/10.
Pour le 2ème point, je suis preneur, mais je ne sais pas comment simplifier, j'avance très doucement en VBA.
2. Il est possible de simplifier ta macro car tu utilises beaucoup de Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un objet Range ou Cell.
Ok?
Pierre Fauconnier
Peux-tu me faire parvenir le fichier par courriel?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"daniel" a écrit dans le message de news:
Bonjour et merci, Je viens de compiler le code, essayer, fermer le fichier, essayer, l'enregistrer sous un autre nom, mais ça ne fonctionne toujours pas. Je crains que ce soit du même ordre que mon problème du 08/10.
Pour le 2ème point, je suis preneur, mais je ne sais pas comment simplifier, j'avance très doucement en VBA.
2. Il est possible de simplifier ta macro car tu utilises beaucoup de Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un objet Range ou Cell.
Ok?
Peux-tu me faire parvenir le fichier par courriel?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"daniel" <novice@neuf.fr> a écrit dans le message de news:
OEpWDYS9GHA.4964@TK2MSFTNGP02.phx.gbl...
Bonjour et merci,
Je viens de compiler le code, essayer, fermer le fichier, essayer,
l'enregistrer sous un autre nom, mais ça ne fonctionne toujours pas.
Je crains que ce soit du même ordre que mon problème du 08/10.
Pour le 2ème point, je suis preneur, mais je ne sais pas comment
simplifier, j'avance très doucement en VBA.
2. Il est possible de simplifier ta macro car tu utilises beaucoup de
Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un
objet Range ou Cell.
Peux-tu me faire parvenir le fichier par courriel?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"daniel" a écrit dans le message de news:
Bonjour et merci, Je viens de compiler le code, essayer, fermer le fichier, essayer, l'enregistrer sous un autre nom, mais ça ne fonctionne toujours pas. Je crains que ce soit du même ordre que mon problème du 08/10.
Pour le 2ème point, je suis preneur, mais je ne sais pas comment simplifier, j'avance très doucement en VBA.
2. Il est possible de simplifier ta macro car tu utilises beaucoup de Activate et de Select, alors qu'à mon avis tu pourrais travailler avec un objet Range ou Cell.
Ok?
daniel
Malheureusement, c'est un fichier que j'ai créé pour le travail et ne peut donc pas le diffuser, confidentialité oblige. Mais en mettant les bouts de code, cela peut peut-être marcher ??? Merci quand même ds tous les cas.
Malheureusement, c'est un fichier que j'ai créé pour le travail et ne peut
donc pas le diffuser, confidentialité oblige.
Mais en mettant les bouts de code, cela peut peut-être marcher ???
Merci quand même ds tous les cas.
Malheureusement, c'est un fichier que j'ai créé pour le travail et ne peut donc pas le diffuser, confidentialité oblige. Mais en mettant les bouts de code, cela peut peut-être marcher ??? Merci quand même ds tous les cas.
Pierre Fauconnier
Si, mais je souhaiterais que tu rendes le code, car je n'ai pas compris (samedi oblige...) où se plaçait le "on error goto"...
De plus, sans la feuille attachée avec des données, c'est moins évident, mais je vais essayer.
J'attends le copié-collé du code.
Pierre
"daniel" a écrit dans le message de news: %23G5%
Malheureusement, c'est un fichier que j'ai créé pour le travail et ne peut donc pas le diffuser, confidentialité oblige. Mais en mettant les bouts de code, cela peut peut-être marcher ??? Merci quand même ds tous les cas.
Si, mais je souhaiterais que tu rendes le code, car je n'ai pas compris
(samedi oblige...) où se plaçait le "on error goto"...
De plus, sans la feuille attachée avec des données, c'est moins évident,
mais je vais essayer.
J'attends le copié-collé du code.
Pierre
"daniel" <novice@neuf.fr> a écrit dans le message de news:
%23G5%23uiS9GHA.4964@TK2MSFTNGP02.phx.gbl...
Malheureusement, c'est un fichier que j'ai créé pour le travail et ne peut
donc pas le diffuser, confidentialité oblige.
Mais en mettant les bouts de code, cela peut peut-être marcher ???
Merci quand même ds tous les cas.
Si, mais je souhaiterais que tu rendes le code, car je n'ai pas compris (samedi oblige...) où se plaçait le "on error goto"...
De plus, sans la feuille attachée avec des données, c'est moins évident, mais je vais essayer.
J'attends le copié-collé du code.
Pierre
"daniel" a écrit dans le message de news: %23G5%
Malheureusement, c'est un fichier que j'ai créé pour le travail et ne peut donc pas le diffuser, confidentialité oblige. Mais en mettant les bouts de code, cela peut peut-être marcher ??? Merci quand même ds tous les cas.
Youky
si j'ai compris le sens de ta macro, supprimer les lignes qui contiennent la variable NumAutoOld Youky
NumAutoOld = 69 'pour essai Do On Error Resume Next Rows(Cells.Find(what:=NumAutoOld).Row).Delete If Err > 0 Then Exit Do Loop
si j'ai compris le sens de ta macro,
supprimer les lignes qui contiennent la variable NumAutoOld
Youky
NumAutoOld = 69 'pour essai
Do
On Error Resume Next
Rows(Cells.Find(what:=NumAutoOld).Row).Delete
If Err > 0 Then Exit Do
Loop
si j'ai compris le sens de ta macro, supprimer les lignes qui contiennent la variable NumAutoOld Youky
NumAutoOld = 69 'pour essai Do On Error Resume Next Rows(Cells.Find(what:=NumAutoOld).Row).Delete If Err > 0 Then Exit Do Loop
daniel
Voici le code pratiquement en entier, j'ai enlevé des trucs qui ne sont pas importants dans le déroulement. J'ai signalé 2 erreurs sur des on error par des ==== En espérant que cela suffira. Merci par avance. Daniel
Sub SauvPourValidation() ' SauvPourValidation Macro
Dim FichierUtil As String Dim nomclient As String Dim NumAutoDébut As String Dim NumAutoFin As String Dim NumAutoOld As String Dim VFichAttente As String Dim CheminCenr As String Dim CheminCatt As String Dim CheminN As String Dim FhichNValid As String Dim PASS As string
'************************************************************** ' mise en mémoire nom du délégataire et l'ancien n° fiche
Do Until ActiveWorkbook.ReadOnly = False ActiveWorkbook.Close Workbooks.Open Filename:= _ CheminN
c = c + 1 -----> salut à Pierre If c = 10 Then MsgBox " Fichier ouvert par une autre personne, " & _ Chr(10) & "réessayez plus tard, désolé !" ActiveWorkbook.Close Exit Sub End If Loop Application.ScreenUpdating = True '************************************************************** Windows(FichierUtil).Activate If NumAutoOld <> "" Then Application.Goto Reference:="NumCalculSuiv" Else Application.Goto Reference:="NumCalculAuto" Calculate End If NumEnregis = ActiveCell.Value Range("f1").Select ActiveSheet.Unprotect Range("f1") = NumEnregis
Application.Goto Reference:="NbExtractOLYMPIA" NbExtOLIMPIA = ActiveCell.Value If ActiveCell.Value > 0 Then
If NbExtOLIMPIA = 1 Then Application.Goto Reference:="ExtracOLYMPIAPourValid1" End If If NbExtOLIMPIA = 2 Then Application.Goto Reference:="ExtracOLYMPIAPourValid2" End If If NbExtOLIMPIA = 3 Then Application.Goto Reference:="ExtracOLYMPIAPourValid3" End If If NbExtOLIMPIA = 4 Then Application.Goto Reference:="ExtracOLYMPIAPourValid4" End If Selection.Copy
ActiveSheet.Next.Select Range("B5").Select ===========ICI ça bloque et le message s'arrête sur le cells.find, que je voudrais passer s'il ne trouve pas ou plus le numéro=========== On Error GoTo PASS Do Until Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate = False 'True Cells.FindPrevious(After:¬tiveCell).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp Range("B5").Select
Loop PASS: On Error GoTo 0 End If '************************************************************** Application.Goto Reference:="NumFiche" ActiveWorkbook.Save ActiveWorkbook.Close Windows(FichierUtil).Activate Application.Goto Reference:="Agence" '************************************************************** ChDrive "c:" 'si le disque C n'est pas le disque par défaut
======ICI aussi ça bloque, alors qu'avant, je n'avais pas de soucis au MkDir============ ' On Error GoTo 0 ' On Error Resume Next ' MkDir "C:DossierEnregistrees" ' On Error GoTo 0 ChDrive "c:" 'si le disque C n'est pas le disque par défaut ChDir CheminCenr If NumActuel <> "" Then ActiveWorkbook.Save Else ActiveWorkbook.SaveAs Filename:=(nomclient) End If
If VFichAttente <> "non" Then Kill VFichAttente End If
'************************************************************** ' Imprime la fiche ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True '************************************************************** MsgBox "La fiche a été enregistrée dans le répertoire c:DossierEnregistrees" '************************************************************** Else: MsgBox "La fiche doit être complétée !" End If Else: Application.Goto Reference:="nomclient" MsgBox "opération abandonnée !" End If
Exit Sub End Sub
Voici le code pratiquement en entier, j'ai enlevé des trucs qui ne sont pas
importants dans le déroulement.
J'ai signalé 2 erreurs sur des on error par des ==== En espérant que cela suffira.
Merci par avance.
Daniel
Sub SauvPourValidation()
' SauvPourValidation Macro
Dim FichierUtil As String
Dim nomclient As String
Dim NumAutoDébut As String
Dim NumAutoFin As String
Dim NumAutoOld As String
Dim VFichAttente As String
Dim CheminCenr As String
Dim CheminCatt As String
Dim CheminN As String
Dim FhichNValid As String
Dim PASS As string
'**************************************************************
' mise en mémoire nom du délégataire et l'ancien n° fiche
Do Until ActiveWorkbook.ReadOnly = False
ActiveWorkbook.Close
Workbooks.Open Filename:= _
CheminN
c = c + 1 -----> salut à Pierre
If c = 10 Then
MsgBox " Fichier ouvert par une autre personne, " & _
Chr(10) & "réessayez plus tard, désolé !"
ActiveWorkbook.Close
Exit Sub
End If
Loop
Application.ScreenUpdating = True
'**************************************************************
Windows(FichierUtil).Activate
If NumAutoOld <> "" Then
Application.Goto Reference:="NumCalculSuiv"
Else
Application.Goto Reference:="NumCalculAuto"
Calculate
End If
NumEnregis = ActiveCell.Value
Range("f1").Select
ActiveSheet.Unprotect
Range("f1") = NumEnregis
Application.Goto Reference:="NbExtractOLYMPIA"
NbExtOLIMPIA = ActiveCell.Value
If ActiveCell.Value > 0 Then
If NbExtOLIMPIA = 1 Then
Application.Goto Reference:="ExtracOLYMPIAPourValid1"
End If
If NbExtOLIMPIA = 2 Then
Application.Goto Reference:="ExtracOLYMPIAPourValid2"
End If
If NbExtOLIMPIA = 3 Then
Application.Goto Reference:="ExtracOLYMPIAPourValid3"
End If
If NbExtOLIMPIA = 4 Then
Application.Goto Reference:="ExtracOLYMPIAPourValid4"
End If
Selection.Copy
ActiveSheet.Next.Select
Range("B5").Select
===========ICI ça bloque et le message s'arrête sur le cells.find, que je
voudrais passer s'il ne trouve pas ou plus le numéro=========== On Error GoTo PASS
Do Until Cells.Find(What:=NumAutoOld, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate = False 'True
Cells.FindPrevious(After:¬tiveCell).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Range("B5").Select
Loop
PASS:
On Error GoTo 0
End If
'**************************************************************
Application.Goto Reference:="NumFiche"
ActiveWorkbook.Save
ActiveWorkbook.Close
Windows(FichierUtil).Activate
Application.Goto Reference:="Agence"
'**************************************************************
ChDrive "c:" 'si le disque C n'est pas le disque par défaut
======ICI aussi ça bloque, alors qu'avant, je n'avais pas de soucis au
MkDir============ ' On Error GoTo 0
' On Error Resume Next
' MkDir "C:DossierEnregistrees"
' On Error GoTo 0
ChDrive "c:" 'si le disque C n'est pas le disque par défaut
ChDir CheminCenr
If NumActuel <> "" Then
ActiveWorkbook.Save
Else
ActiveWorkbook.SaveAs Filename:=(nomclient)
End If
If VFichAttente <> "non" Then
Kill VFichAttente
End If
'**************************************************************
' Imprime la fiche
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'**************************************************************
MsgBox "La fiche a été enregistrée dans le répertoire
c:DossierEnregistrees"
'**************************************************************
Else: MsgBox "La fiche doit être complétée !"
End If
Else: Application.Goto Reference:="nomclient"
MsgBox "opération abandonnée !"
End If
Voici le code pratiquement en entier, j'ai enlevé des trucs qui ne sont pas importants dans le déroulement. J'ai signalé 2 erreurs sur des on error par des ==== En espérant que cela suffira. Merci par avance. Daniel
Sub SauvPourValidation() ' SauvPourValidation Macro
Dim FichierUtil As String Dim nomclient As String Dim NumAutoDébut As String Dim NumAutoFin As String Dim NumAutoOld As String Dim VFichAttente As String Dim CheminCenr As String Dim CheminCatt As String Dim CheminN As String Dim FhichNValid As String Dim PASS As string
'************************************************************** ' mise en mémoire nom du délégataire et l'ancien n° fiche
Do Until ActiveWorkbook.ReadOnly = False ActiveWorkbook.Close Workbooks.Open Filename:= _ CheminN
c = c + 1 -----> salut à Pierre If c = 10 Then MsgBox " Fichier ouvert par une autre personne, " & _ Chr(10) & "réessayez plus tard, désolé !" ActiveWorkbook.Close Exit Sub End If Loop Application.ScreenUpdating = True '************************************************************** Windows(FichierUtil).Activate If NumAutoOld <> "" Then Application.Goto Reference:="NumCalculSuiv" Else Application.Goto Reference:="NumCalculAuto" Calculate End If NumEnregis = ActiveCell.Value Range("f1").Select ActiveSheet.Unprotect Range("f1") = NumEnregis
Application.Goto Reference:="NbExtractOLYMPIA" NbExtOLIMPIA = ActiveCell.Value If ActiveCell.Value > 0 Then
If NbExtOLIMPIA = 1 Then Application.Goto Reference:="ExtracOLYMPIAPourValid1" End If If NbExtOLIMPIA = 2 Then Application.Goto Reference:="ExtracOLYMPIAPourValid2" End If If NbExtOLIMPIA = 3 Then Application.Goto Reference:="ExtracOLYMPIAPourValid3" End If If NbExtOLIMPIA = 4 Then Application.Goto Reference:="ExtracOLYMPIAPourValid4" End If Selection.Copy
ActiveSheet.Next.Select Range("B5").Select ===========ICI ça bloque et le message s'arrête sur le cells.find, que je voudrais passer s'il ne trouve pas ou plus le numéro=========== On Error GoTo PASS Do Until Cells.Find(What:=NumAutoOld, After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate = False 'True Cells.FindPrevious(After:¬tiveCell).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp Range("B5").Select
Loop PASS: On Error GoTo 0 End If '************************************************************** Application.Goto Reference:="NumFiche" ActiveWorkbook.Save ActiveWorkbook.Close Windows(FichierUtil).Activate Application.Goto Reference:="Agence" '************************************************************** ChDrive "c:" 'si le disque C n'est pas le disque par défaut
======ICI aussi ça bloque, alors qu'avant, je n'avais pas de soucis au MkDir============ ' On Error GoTo 0 ' On Error Resume Next ' MkDir "C:DossierEnregistrees" ' On Error GoTo 0 ChDrive "c:" 'si le disque C n'est pas le disque par défaut ChDir CheminCenr If NumActuel <> "" Then ActiveWorkbook.Save Else ActiveWorkbook.SaveAs Filename:=(nomclient) End If
If VFichAttente <> "non" Then Kill VFichAttente End If
'************************************************************** ' Imprime la fiche ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True '************************************************************** MsgBox "La fiche a été enregistrée dans le répertoire c:DossierEnregistrees" '************************************************************** Else: MsgBox "La fiche doit être complétée !" End If Else: Application.Goto Reference:="nomclient" MsgBox "opération abandonnée !" End If
Exit Sub End Sub
daniel
Bonjour et merci, J'ai mis le bout de code, mais même principe ça bloque sur Rows(Cell......, comme avec le code initial. ?????
Bonjour et merci,
J'ai mis le bout de code, mais même principe ça bloque sur Rows(Cell......,
comme avec le code initial. ?????
Erreur 91 indique que l'objet à qui tu veux parler n'est pas défini : En clair, ça veut dire que si tu écris
Range("B5").Select
et que l'objet "actif" n'a pas de propriété Range, alors ça plante.
Un conseil : revoir l'utilisation de With ... End With Si ton code est correct, il manque un point "." devant chaque Range("B5").Select.
PP
"daniel" a écrit dans le message de news:
Bonjour et merci, J'ai mis le bout de code, mais même principe ça bloque sur Rows(Cell......, comme avec le code initial. ?????
daniel
Bonjour, le > Range("B5").Select n'a que très peu d'importance ds ma macro, je l'ai enlevé, ce n'est pas ça qui bloque. je n'utilise pas, à tort, with et end with, mais de toute façon, je pense que l'erreur devrait être "passée" avec le on error goto pass. Merci pour les conseils, je vais me pencher sur with dès que possible. Bon week-end
Bonjour,
le > Range("B5").Select n'a que très peu d'importance ds ma macro, je l'ai
enlevé, ce n'est pas ça qui bloque.
je n'utilise pas, à tort, with et end with, mais de toute façon, je pense
que l'erreur devrait être "passée" avec le on error goto pass.
Merci pour les conseils, je vais me pencher sur with dès que possible.
Bon week-end
Bonjour, le > Range("B5").Select n'a que très peu d'importance ds ma macro, je l'ai enlevé, ce n'est pas ça qui bloque. je n'utilise pas, à tort, with et end with, mais de toute façon, je pense que l'erreur devrait être "passée" avec le on error goto pass. Merci pour les conseils, je vais me pencher sur with dès que possible. Bon week-end