Il semble qu'avec Excel 2013 le code ci-dessous ne fonctionne pas. Je sais =
que ceci a d=C3=A9j=C3=A0 fait l'objet de discussions mais je ne trouve rie=
n en tant que solution.
Je place ce code dans l'=C3=A9v=C3=A8nement Open.
Sauriez-vous pourquoi et quoi faire?
Merci =C3=A0 l'avance.
*************
Dim Refs As Object, Ref As Object
On Error Resume Next
With ThisWorkbook
Set Refs =3D .VBProject.References
For Each Ref In Refs
If Ref.IsBroken Then
Refs.Remove Ref.Name
End If
Next
End With
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
MichD
Le 01/09/20 à 14:00, a écrit :
Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Ref.Name End If Next End With
Bonjour, Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une référence brisée. Si tu as un tel fichier, supprime toutes les données et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse obtenue ici. Ceci étant dit, essaie comme ceci : '-------------------------------------- Sub test() Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Refs.Item(Ref.Name) End If Next End With End Sub '-------------------------------------- MichD
Le 01/09/20 à 14:00, rmill...@gmail.com a écrit :
Dim Refs As Object, Ref As Object
On Error Resume Next
With ThisWorkbook
Set Refs = .VBProject.References
For Each Ref In Refs
If Ref.IsBroken Then
Refs.Remove Ref.Name
End If
Next
End With
Bonjour,
Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une
référence brisée. Si tu as un tel fichier, supprime toutes les données
et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse
obtenue ici.
Ceci étant dit, essaie comme ceci :
'--------------------------------------
Sub test()
Dim Refs As Object, Ref As Object
On Error Resume Next
With ThisWorkbook
Set Refs = .VBProject.References
For Each Ref In Refs
If Ref.IsBroken Then
Refs.Remove Refs.Item(Ref.Name)
End If
Next
End With
End Sub
'--------------------------------------
Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Ref.Name End If Next End With
Bonjour, Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une référence brisée. Si tu as un tel fichier, supprime toutes les données et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse obtenue ici. Ceci étant dit, essaie comme ceci : '-------------------------------------- Sub test() Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Refs.Item(Ref.Name) End If Next End With End Sub '-------------------------------------- MichD
rmill...
Merci. Je vais tester et revenir.
Le 01/09/20 à 14:00, a écrit :
Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Ref.Name End If Next End With
Bonjour, Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une référence brisée. Si tu as un tel fichier, supprime toutes les données et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse obtenue ici. Ceci étant dit, essaie comme ceci : '-------------------------------------- Sub test() Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Refs.Item(Ref.Name) End If Next End With End Sub '-------------------------------------- MichD
Merci. Je vais tester et revenir.
Le 01/09/20 à 14:00, rmill...@gmail.com a écrit :
> Dim Refs As Object, Ref As Object
> On Error Resume Next
> With ThisWorkbook
> Set Refs = .VBProject.References
> For Each Ref In Refs
> If Ref.IsBroken Then
> Refs.Remove Ref.Name
> End If
> Next
> End With
Bonjour,
Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une
référence brisée. Si tu as un tel fichier, supprime toutes les données
et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse
obtenue ici.
Ceci étant dit, essaie comme ceci :
'--------------------------------------
Sub test()
Dim Refs As Object, Ref As Object
On Error Resume Next
With ThisWorkbook
Set Refs = .VBProject.References
For Each Ref In Refs
If Ref.IsBroken Then
Refs.Remove Refs.Item(Ref.Name)
End If
Next
End With
End Sub
'--------------------------------------
Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Ref.Name End If Next End With
Bonjour, Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une référence brisée. Si tu as un tel fichier, supprime toutes les données et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse obtenue ici. Ceci étant dit, essaie comme ceci : '-------------------------------------- Sub test() Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Refs.Item(Ref.Name) End If Next End With End Sub '-------------------------------------- MichD
rmill...
Le mardi 1 septembre 2020 à 17 h 25 min 05 s UTC-4, a écrit :
Merci. Je vais tester et reven
Le 01/09/20 à 14:00, a écrit : > Dim Refs As Object, Ref As Object > On Error Resume Next > With ThisWorkbook > Set Refs = .VBProject.References > For Each Ref In Refs > If Ref.IsBroken Then > Refs.Remove Ref.Name > End If > Next > End With Bonjour, Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une référence brisée. Si tu as un tel fichier, supprime tout es les données et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse obtenue ici. Ceci étant dit, essaie comme ceci : '-------------------------------------- Sub test() Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Refs.Item(Ref.Name) End If Next End With End Sub '-------------------------------------- MichD
Le mardi 1 septembre 2020 à 17 h 25 min 05 s UTC-4, rmill...@gmail.com a écrit :
Merci. Je vais tester et reven
> Le 01/09/20 à 14:00, rmill...@gmail.com a écrit :
> > Dim Refs As Object, Ref As Object
> > On Error Resume Next
> > With ThisWorkbook
> > Set Refs = .VBProject.References
> > For Each Ref In Refs
> > If Ref.IsBroken Then
> > Refs.Remove Ref.Name
> > End If
> > Next
> > End With
> Bonjour,
>
> Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une
> référence brisée. Si tu as un tel fichier, supprime tout es les données
> et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse
> obtenue ici.
>
> Ceci étant dit, essaie comme ceci :
>
> '--------------------------------------
> Sub test()
> Dim Refs As Object, Ref As Object
> On Error Resume Next
> With ThisWorkbook
> Set Refs = .VBProject.References
> For Each Ref In Refs
> If Ref.IsBroken Then
> Refs.Remove Refs.Item(Ref.Name)
> End If
> Next
> End With
> End Sub
> '--------------------------------------
>
> MichD
Le mardi 1 septembre 2020 à 17 h 25 min 05 s UTC-4, a écrit :
Merci. Je vais tester et reven
Le 01/09/20 à 14:00, a écrit : > Dim Refs As Object, Ref As Object > On Error Resume Next > With ThisWorkbook > Set Refs = .VBProject.References > For Each Ref In Refs > If Ref.IsBroken Then > Refs.Remove Ref.Name > End If > Next > End With Bonjour, Je ne peux pas effectuer de test, je n'ai aucun classeur ayant une référence brisée. Si tu as un tel fichier, supprime tout es les données et publie-le en utilisant Cjoint.com. Tu nous retournes l'adresse obtenue ici. Ceci étant dit, essaie comme ceci : '-------------------------------------- Sub test() Dim Refs As Object, Ref As Object On Error Resume Next With ThisWorkbook Set Refs = .VBProject.References For Each Ref In Refs If Ref.IsBroken Then Refs.Remove Refs.Item(Ref.Name) End If Next End With End Sub '-------------------------------------- MichD
rmill...
Bonjour, J'ai testé et Excel gèle. Je dois faire un control alt delete. Le Excel était 2013.
Bonjour,
J'ai testé et Excel gèle. Je dois faire un control alt delete.
Bonjour, J'ai testé et Excel gèle. Je dois faire un control alt delete. Le Excel était 2013.
MichD
Le 10/09/20 à 16:20, a écrit :
Bonjour, J'ai testé et Excel gèle. Je dois faire un control alt delete. Le Excel était 2013.
Bonjour, Vide les feuilles de calcul de leur contenu, tu peux même effacer tout ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu nous retournes l'adresse obtenue ici. Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque marquée "MANQUANTE" dans la liste des références soit toujours là. Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel est son nom? MichD
Le 10/09/20 à 16:20, rmill...@gmail.com a écrit :
Bonjour,
J'ai testé et Excel gèle. Je dois faire un control alt delete.
Le Excel était 2013.
Bonjour,
Vide les feuilles de calcul de leur contenu, tu peux même effacer tout
ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu
nous retournes l'adresse obtenue ici.
Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque
marquée "MANQUANTE" dans la liste des références soit toujours là.
Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel
est son nom?
Bonjour, J'ai testé et Excel gèle. Je dois faire un control alt delete. Le Excel était 2013.
Bonjour, Vide les feuilles de calcul de leur contenu, tu peux même effacer tout ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu nous retournes l'adresse obtenue ici. Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque marquée "MANQUANTE" dans la liste des références soit toujours là. Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel est son nom? MichD
MichD
Le 10/09/20 à 16:41, MichD a écrit :
Le 10/09/20 à 16:20, a écrit :
Bonjour, J'ai testé et Excel gèle. Je dois faire un control alt delete. Le Excel était 2013.
Bonjour, Vide les feuilles de calcul de leur contenu, tu peux même effacer tout ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu nous retournes l'adresse obtenue ici. Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque marquée "MANQUANTE" dans la liste des références soit toujours là. Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel est son nom? MichD
Dans la fenêtre de l'éditeur de code (VBA), appuie sur la touche F2. Dans la liste déroulante du haut, choisis la bibliothèque marquée manquante et dans le bas de la fenêtre, tu as le chemin et le nom du fichier associés à cette bibliothèque. Est-ce que ce fichier est présent sur ton ordinateur? MichD
Le 10/09/20 à 16:41, MichD a écrit :
Le 10/09/20 à 16:20, rmill...@gmail.com a écrit :
Bonjour,
J'ai testé et Excel gèle. Je dois faire un control alt delete.
Le Excel était 2013.
Bonjour,
Vide les feuilles de calcul de leur contenu, tu peux même effacer tout
ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu
nous retournes l'adresse obtenue ici.
Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque
marquée "MANQUANTE" dans la liste des références soit toujours là.
Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel
est son nom?
MichD
Dans la fenêtre de l'éditeur de code (VBA), appuie sur la touche F2.
Dans la liste déroulante du haut, choisis la bibliothèque marquée
manquante et dans le bas de la fenêtre, tu as le chemin et le nom du
fichier associés à cette bibliothèque. Est-ce que ce fichier est présent
sur ton ordinateur?
Bonjour, J'ai testé et Excel gèle. Je dois faire un control alt delete. Le Excel était 2013.
Bonjour, Vide les feuilles de calcul de leur contenu, tu peux même effacer tout ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu nous retournes l'adresse obtenue ici. Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque marquée "MANQUANTE" dans la liste des références soit toujours là. Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel est son nom? MichD
Dans la fenêtre de l'éditeur de code (VBA), appuie sur la touche F2. Dans la liste déroulante du haut, choisis la bibliothèque marquée manquante et dans le bas de la fenêtre, tu as le chemin et le nom du fichier associés à cette bibliothèque. Est-ce que ce fichier est présent sur ton ordinateur? MichD
MichD
Bonjour, Vide les feuilles de calcul de leur contenu, tu peux même effacer tout ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu nous retournes l'adresse obtenue ici. Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque marquée "MANQUANTE" dans la liste des références soit toujours là. Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel est son nom? MichD
Dans la fenêtre de l'éditeur de code (VBA), appuie sur la touche F2. Dans la liste déroulante du haut, choisis la bibliothèque marquée manquante et dans le bas de la fenêtre, tu as le chemin et le nom du fichier associés à cette bibliothèque. Est-ce que ce fichier est présent sur ton ordinateur? MichD
Regarde ce site web de Microsoft (en anglais), il arrive à la même conclusion que moi. https://support.microsoft.com/en-us/help/308340/how-to-check-and-remove-incorrect-project-references-in-the-visual-bas Ceci, je te réitère l'offre de publier ton classeur. MichD
Bonjour,
Vide les feuilles de calcul de leur contenu, tu peux même effacer tout
ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu
nous retournes l'adresse obtenue ici.
Pour effectuer quelques tests, j'ai seulement besoin que la
bibliothèque marquée "MANQUANTE" dans la liste des références soit
toujours là.
Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui
quel est son nom?
MichD
Dans la fenêtre de l'éditeur de code (VBA), appuie sur la touche F2.
Dans la liste déroulante du haut, choisis la bibliothèque marquée
manquante et dans le bas de la fenêtre, tu as le chemin et le nom du
fichier associés à cette bibliothèque. Est-ce que ce fichier est présent
sur ton ordinateur?
MichD
Regarde ce site web de Microsoft (en anglais), il arrive à la même
conclusion que moi.
https://support.microsoft.com/en-us/help/308340/how-to-check-and-remove-incorrect-project-references-in-the-visual-bas
Ceci, je te réitère l'offre de publier ton classeur.
Bonjour, Vide les feuilles de calcul de leur contenu, tu peux même effacer tout ton code, et publie ce classeur en utilisant l'adresse Cjoint.com. Tu nous retournes l'adresse obtenue ici. Pour effectuer quelques tests, j'ai seulement besoin que la bibliothèque marquée "MANQUANTE" dans la liste des références soit toujours là. Est-ce que tu as une de ces références marquées "MANQUANTE"? SI oui quel est son nom? MichD
Dans la fenêtre de l'éditeur de code (VBA), appuie sur la touche F2. Dans la liste déroulante du haut, choisis la bibliothèque marquée manquante et dans le bas de la fenêtre, tu as le chemin et le nom du fichier associés à cette bibliothèque. Est-ce que ce fichier est présent sur ton ordinateur? MichD
Regarde ce site web de Microsoft (en anglais), il arrive à la même conclusion que moi. https://support.microsoft.com/en-us/help/308340/how-to-check-and-remove-incorrect-project-references-in-the-visual-bas Ceci, je te réitère l'offre de publier ton classeur. MichD
MichD
Le site Web charge la référence suivante : Microsoft Visual Basic for Applications Extensibility 5.3 Cela permet d'utiliser de définir le type des variables différemment. On appelle cela "Liaison précoce", la procédure présentée utilisait une relation tardive. Je pensais que cela ne faisait pas une différence. Je t'ai donné une procédure "Ajouter_Une_Référence" que tu exécutes en premier pour charger la procédure et dans un second temps, la procédure "CheckReference", il y a seulement la déclaration des variables qui diffère. Je ne connais pas un autre moyen de le faire par code. L'alternative est de décocher manuellement la (les) référence marquée "MANQUANTE". Dernière chance ;-)) '--------------------------------------------- Sub Ajouter_Une_Référence() 'Cette procédure ajoute la référence suivannte : '"Microsoft Visual Basic for Applications Extensibility 5.3" 'Cela modifie la manière dont on peut déclarer les variables. On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0002E157-0000-0000-C000-000000000046}", Major:=5, Minor:=3 End Sub '--------------------------------------------- Sub CheckReference() Dim vbProj As VBProject Dim chkRef As Reference ' Refer to the activedocument's VBA project. Set vbProj = ThisWorkbook.VBProject ' Check through the selected references in the References dialog box. For Each chkRef In vbProj.References ' If the reference is broken, send the name to the Immediate Window. If chkRef.IsBroken Then Refs.Remove Refs.Item(chkRef.Name) End If Next End Sub '--------------------------------------------- MichD
Le site Web charge la référence suivante :
Microsoft Visual Basic for Applications Extensibility 5.3
Cela permet d'utiliser de définir le type des variables différemment.
On appelle cela "Liaison précoce", la procédure présentée utilisait une
relation tardive. Je pensais que cela ne faisait pas une différence.
Je t'ai donné une procédure "Ajouter_Une_Référence" que tu exécutes en
premier pour charger la procédure et dans un second temps, la procédure
"CheckReference", il y a seulement la déclaration des variables qui diffère.
Je ne connais pas un autre moyen de le faire par code. L'alternative est
de décocher manuellement la (les) référence marquée "MANQUANTE".
Dernière chance ;-))
'---------------------------------------------
Sub Ajouter_Une_Référence()
'Cette procédure ajoute la référence suivannte :
'"Microsoft Visual Basic for Applications Extensibility 5.3"
'Cela modifie la manière dont on peut déclarer les variables.
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0002E157-0000-0000-C000-000000000046}", Major:=5, Minor:=3
End Sub
'---------------------------------------------
Sub CheckReference()
Dim vbProj As VBProject
Dim chkRef As Reference
' Refer to the activedocument's VBA project.
Set vbProj = ThisWorkbook.VBProject
' Check through the selected references in the References dialog box.
For Each chkRef In vbProj.References
' If the reference is broken, send the name to the Immediate Window.
If chkRef.IsBroken Then
Refs.Remove Refs.Item(chkRef.Name)
End If
Next
End Sub
'---------------------------------------------
Le site Web charge la référence suivante : Microsoft Visual Basic for Applications Extensibility 5.3 Cela permet d'utiliser de définir le type des variables différemment. On appelle cela "Liaison précoce", la procédure présentée utilisait une relation tardive. Je pensais que cela ne faisait pas une différence. Je t'ai donné une procédure "Ajouter_Une_Référence" que tu exécutes en premier pour charger la procédure et dans un second temps, la procédure "CheckReference", il y a seulement la déclaration des variables qui diffère. Je ne connais pas un autre moyen de le faire par code. L'alternative est de décocher manuellement la (les) référence marquée "MANQUANTE". Dernière chance ;-)) '--------------------------------------------- Sub Ajouter_Une_Référence() 'Cette procédure ajoute la référence suivannte : '"Microsoft Visual Basic for Applications Extensibility 5.3" 'Cela modifie la manière dont on peut déclarer les variables. On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0002E157-0000-0000-C000-000000000046}", Major:=5, Minor:=3 End Sub '--------------------------------------------- Sub CheckReference() Dim vbProj As VBProject Dim chkRef As Reference ' Refer to the activedocument's VBA project. Set vbProj = ThisWorkbook.VBProject ' Check through the selected references in the References dialog box. For Each chkRef In vbProj.References ' If the reference is broken, send the name to the Immediate Window. If chkRef.IsBroken Then Refs.Remove Refs.Item(chkRef.Name) End If Next End Sub '--------------------------------------------- MichD