stanymi
Messages postés3Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention24 décembre 2009
-
9 janv. 2008 à 10:44
stanymi
Messages postés3Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention24 décembre 2009
-
9 janv. 2008 à 10:52
Bonjour,
J'ai un pb assez intrigant je dois dire...
Lorsque je tente de faire un contrôle avec un if dans ma boucle Do While... Loop,
J'ai le message d'erreur suivant :
Erreur de compilation
Boucle sans Do
Si je commente la partie de code où il y a le if, aucun pb.
Le code, (juste pour préciser, je nettoie des fichiers excel avec cette petite procédure) :
Set ListeCollec = CurrentDb.OpenRecordset("Collections_mv") ' requête qui regroupe les collections mv
ListeCollec.MoveFirst
Do While Not ListeCollec.EOF
' Sélection fichier // corrections libellés colonnes + colonne ean // suppression 1ere ligne // sauvegarde
Set xlBook = xlApp.Workbooks.Open("\\#########\mv_c_" + ListeCollec("Collection") + ".xls")
ActiveSheet.Range("A2") = "Ordre" ' on libelle la case A2 avec Ordre
ActiveSheet.Range("B2") = "Ean" ' on libelle la case B2 avec Ean
Rows("2:2").Select ' remplacement libellé colonne Thème (Détail) par ThèmeDétail
selection.Replace What:="Thème (Détail)", Replacement:="ThèmeDétail", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Rows("2:2").Select ' remplacement libellé colonne Volume par Volumes
selection.Replace What:="Volume", Replacement:="Volumes", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
If (ListeCollec("Collection") = "mv_c_bx_livres") Then
MsgBox "test if OK"
End
Columns("B:B").Select ' remplacement des caractères CB par vide dans colonne B
selection.Replace What:="CB ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Worksheets("Sheet1").Rows(1).Delete Shift:=xlUp 'suppression ligne 1
xlBook.Save
xlBook.Close
ListeCollec.MoveNext ' enregistrement suivant
Loop
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 9 janv. 2008 à 10:49
Bonjour,
Tu as oublié de mettre end if au lieu de End
If (ListeCollec("Collection") = "mv_c_bx_livres") Then
MsgBox "test if OK"
EndIF
Sinon tu peux aussi t'arranger pour tout mettre sur la même ligne (si tu n'as qu'une seule instruction à exécuter dans ta condition):
If (ListeCollec("Collection") = "mv_c_bx_livres") Then MsgBox "test if OK"
L'expérience, c'est une connerie par jour, mais jamais la même..