superbog
XLDnaute Occasionnel
Bonjour,
Voici une situation inédite, du moins pour moi, j'avais des macros qui fonctionnaient parfaitement avant les vacances. Je n'ai pas touché au fichier durant mes congés et au retour, patatra, certaines macro refusent de fonctionner avec une fenêtre erreur d'exécution 40036
en voici deux
pourtant cet userform existe bien
je ne comprends pas pourquoi tout à coup ca ne fonctionne plus, d'autant que j'ai relancé l'ordi (au cas ou...)
HELP!!!!!
Voici une situation inédite, du moins pour moi, j'avais des macros qui fonctionnaient parfaitement avant les vacances. Je n'ai pas touché au fichier durant mes congés et au retour, patatra, certaines macro refusent de fonctionner avec une fenêtre erreur d'exécution 40036
en voici deux
Code:
Sub CHERCHE_dossier()
recherche.Show 'affiche l'UserForm recherche
End Sub
Code:
Sub creer_feuilles_non_archivées()
Dim dL, lig As Integer 'déclare la variable dl (Dernire Ligne)
Dim i As Integer 'déclare la variable i (Incrément)
Dim o As Object 'déclare la variable o (Onglet)
Dim dossier As String
Application.ScreenUpdating = False 'masque les changements à l'ecran
With Sheets("Clients") 'prend en compte l'onglet "Clients"
dL = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne 1 (=A)
For i = 2 To dL 'boucle des lignes 2 à dl
If .Cells(i, 15).Value <> "" Then GoTo suite 'si la cellule de la boucle en colonne 15 n'est pas vide, va à l'étiquette "suite"
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set o = Sheets(CStr(.Cells(i, 1).Value)) 'définit l'onglet o (génère une erreur si c'est onglet n'existe pas)
If Err <> 0 Then 'condition : si une erreur a été générée
Err = 0 'annule l'erreur
'Copie le modele et on le place à la fin
Sheets("modele").Visible = True
Worksheets("Modele").Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = .Cells(i, 1)
Sheets("modele").Visible = False
Sheets("clients").Activate
'Recherche de la ligne et tri dans chaque feuille
dossier = Cells(i, 1).Text
lig = Sheets(dossier).Range("A2").End(xlUp).Row
'Copie
Sheets("clients").Range("A" & i & ":P" & i).Copy Destination:=Worksheets(dossier).Range("A2")
'& Lig + 1)
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
suite: 'étiquette
Next i 'prochaine ligne de la boucle
End With 'fin de la pise en compte de l'onglet "Clients"
Application.ScreenUpdating = True 'affiche les changements à l'écran
MsgBox "nouveaux dossiers créés"
End Sub
je ne comprends pas pourquoi tout à coup ca ne fonctionne plus, d'autant que j'ai relancé l'ordi (au cas ou...)
HELP!!!!!