Bonjour
J'ai une Erreur compilation - Projet ou bibliotheque introuvable avec une macro VBA qui ne s’exécute plus depuis que j'ai formaté mon PC.
L'erreur est sur la ligne que j'ai mis en gras "For each c in plage"
Et le curseur s’arrête sur le "c" qu'il selectionne ?? (je l'ai mis en rouge)
Je précise que dans outils/référence l'option est grisée et je n'y ai pas accés .
Comment ça se fait ? Et comment résoudre ce problème ?
Merci d'avance pour votre aide
A vous lire
--------------
Sub Garantie()
Dim plage As Range
'd'abord on vide la feuille avant de la remplir à nouveau
Sheets("Sous garantie").Select
Range("A2").Select
ActiveSheet.Cells.Clear
'fin de l'opération de vidage
With Sheets("Intervention clients")
'je définie la plage de recherche dans les cellules utilisées
'de la colonne A (si autre colonne, remplacer A par la colonne correspondante)
Set plage = .Range("N250:N600" & .Range("A65000").End(xlUp).Row)
'Pour chaque cellule de la plage
For Each c In plage
'Si la cellule colonne N = "garantie en cours" alors
If c.Value = "garantie en cours" Then
'définie la ligne non utilisée
x = Sheets("Sous garantie").Range("A65000").End(xlUp).Row + 1
'je copie la ligne vers la feuille
c.EntireRow.Copy Sheets("Sous garantie").Rows(x)
End If
Next c
End With
End Sub
-----------------------
J'ai une Erreur compilation - Projet ou bibliotheque introuvable avec une macro VBA qui ne s’exécute plus depuis que j'ai formaté mon PC.
L'erreur est sur la ligne que j'ai mis en gras "For each c in plage"
Et le curseur s’arrête sur le "c" qu'il selectionne ?? (je l'ai mis en rouge)
Je précise que dans outils/référence l'option est grisée et je n'y ai pas accés .
Comment ça se fait ? Et comment résoudre ce problème ?
Merci d'avance pour votre aide
A vous lire
--------------
Sub Garantie()
Dim plage As Range
'd'abord on vide la feuille avant de la remplir à nouveau
Sheets("Sous garantie").Select
Range("A2").Select
ActiveSheet.Cells.Clear
'fin de l'opération de vidage
With Sheets("Intervention clients")
'je définie la plage de recherche dans les cellules utilisées
'de la colonne A (si autre colonne, remplacer A par la colonne correspondante)
Set plage = .Range("N250:N600" & .Range("A65000").End(xlUp).Row)
'Pour chaque cellule de la plage
For Each c In plage
'Si la cellule colonne N = "garantie en cours" alors
If c.Value = "garantie en cours" Then
'définie la ligne non utilisée
x = Sheets("Sous garantie").Range("A65000").End(xlUp).Row + 1
'je copie la ligne vers la feuille
c.EntireRow.Copy Sheets("Sous garantie").Rows(x)
End If
Next c
End With
End Sub
-----------------------