"Erreur d'exécution 91"
Résolu
Amande42
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Amande42 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Amande42 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Et d'avance merci à ceux qui se pencheront sur mon problème, je suis à deux doigts de pleurer devant mon écran ou de l'envoyer contre le mur... ;-)
Je suis toujours sur la conception du même outil, j'avance lentement mais sûrement.
Le problème du jour : l'objectif de ce code est de trouver la "Valcherchée" (concaténation de 3 cellules se trouvant dans la feuille "MàJ PA - retour audités") dans la colonne Z de la feuille "BDD résumé". J'ai vérifié via une MsgBox et "Valcherchée" correspond bien à ce que je cherche à trouver.
A partir de là et de la méthode offset qui doit pointer sur la colonne G, trouver la cellule indiquant le numéro de campagne associée à la "Valcherchée" et le remplacer par le numéro saisi dans la feuille "MàJ PA - retour audités" (actualisation du numéro de campagne de chaque mission tous les 6 mois).
J'ai testé ma procédure hier et après une journée à bûcher dessus, ça marchait enfin en partant le soir. Mais, car il y en a toujours un, ce matin, ça ne marchait plus. J'ai bien essayé de l'améliorer en fonction des indications trouvées en ligne, mais après 3h dessus, rien n'y fait et j'abandonne !
En exécutant ma procédure pas à pas, ça plante au niveau de "MsgBox Cellule" (j'ai rajouté cette ligne pour essayer d'identifier le problème") et le message d'erreur 91 apparaît. Or, je n'ai pas de with sans end with (j'ai essayé d'en mettre au cas où), mes variables sont déclarées (j'ai essayé de les mettre en Variant voir si ça solutionnait mon problème...), etc.
Si j'enlève la ligne de code "MsgBox Cellule", la procédure suit son cours et renvoie à Nothing, ma MsgBox "Non trouvé" apparaît et fin du traitement.
Ce que je ne comprends pas, c'est que ma "Valcherchée" est bien présente dans ma colonne Z.
Je craque !! Plus de patience.
D'avance merci pour votre précieuse aide.
Bonne journée à tous.
Amande42
PS : comment fait-on sur ce forum pour mettre le code en forme (encadré et couleurs) et faciliter ainsi la lecture ?
Et d'avance merci à ceux qui se pencheront sur mon problème, je suis à deux doigts de pleurer devant mon écran ou de l'envoyer contre le mur... ;-)
Je suis toujours sur la conception du même outil, j'avance lentement mais sûrement.
Le problème du jour : l'objectif de ce code est de trouver la "Valcherchée" (concaténation de 3 cellules se trouvant dans la feuille "MàJ PA - retour audités") dans la colonne Z de la feuille "BDD résumé". J'ai vérifié via une MsgBox et "Valcherchée" correspond bien à ce que je cherche à trouver.
A partir de là et de la méthode offset qui doit pointer sur la colonne G, trouver la cellule indiquant le numéro de campagne associée à la "Valcherchée" et le remplacer par le numéro saisi dans la feuille "MàJ PA - retour audités" (actualisation du numéro de campagne de chaque mission tous les 6 mois).
J'ai testé ma procédure hier et après une journée à bûcher dessus, ça marchait enfin en partant le soir. Mais, car il y en a toujours un, ce matin, ça ne marchait plus. J'ai bien essayé de l'améliorer en fonction des indications trouvées en ligne, mais après 3h dessus, rien n'y fait et j'abandonne !
En exécutant ma procédure pas à pas, ça plante au niveau de "MsgBox Cellule" (j'ai rajouté cette ligne pour essayer d'identifier le problème") et le message d'erreur 91 apparaît. Or, je n'ai pas de with sans end with (j'ai essayé d'en mettre au cas où), mes variables sont déclarées (j'ai essayé de les mettre en Variant voir si ça solutionnait mon problème...), etc.
Si j'enlève la ligne de code "MsgBox Cellule", la procédure suit son cours et renvoie à Nothing, ma MsgBox "Non trouvé" apparaît et fin du traitement.
Ce que je ne comprends pas, c'est que ma "Valcherchée" est bien présente dans ma colonne Z.
Private Sub MAJNumCampagne() 'RECHERCHE CELLULE AVEC N° CAMPAGNE CORRESPONDANT A LA MISSION SELECTIONNEE DANS LA FEUILLE "BDD résumé" Dim Valcherchée As String Dim Cellule As Range 'cellule comprenant les 3 valeurs recherchées concaténées Dim myRange As Range 'cellule correspondant au num de campagne 'Concaténation Mission + Année + Entité à chercher With Sheets("MàJ PA - retour audités") Valcherchée = .Range("D6").Value & .Range("G8").Value & .Range("D10").Value End With 'Activation de la cellule contenant le n° de campagne en fonction de la mission et affectation du numéro actualisé Set Cellule = Sheets("BDD résumé").Columns(26).Find(Valcherchée, Lookat:=xlWhole) MsgBox Cellule If Cellule Is Nothing Then MsgBox "Non trouvé." Exit Sub End If If Not Cellule Is Nothing Then myRange = Cellule.Offset(, -19) myRange.Value = Sheets("MàJ PA - retour audités").Range("I17").Value End If End Sub
Je craque !! Plus de patience.
D'avance merci pour votre précieuse aide.
Bonne journée à tous.
Amande42
PS : comment fait-on sur ce forum pour mettre le code en forme (encadré et couleurs) et faciliter ainsi la lecture ?
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Erreur 91 vba
- +33 9 48 20 91 54 ✓ - Forum Mobile
- Erreur 3005 france tv - Forum TV & Vidéo
- Incompatibilité de type vba ✓ - Forum Programmation
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
8 réponses
Bonjour,
- Pour mettre du code :
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
- Pour ce qui est de l'erreur sur la ligne de code :
.... vu que tu déclare ta variable ainsi :
... Cellule ... est une "RANGE" (une plage de celllules ou une seule cellule...)
Donc... cet "objet" contient une propriété VALUE (pour en avoir le contenu...) , une propriété ADRESSE ( pour connaitre ses coordonnées.....) ... bref... à toi de choisir ce que tu veux afficher.
Tu pourrais donc écrire :
Ensuite tu indiques :
... mais... le texte est présent TEL QUEL dans ta cellule... ou il fait parti d'un TEXT contenu dans ta cellule ???
Pour rappel : xlWhole Correspond à => Correspondance EXACTE.
Et pour finir ....
=> N'utilises pas de caractères ACCENTUES dans le nom de tes variables !
(ni aucun caractère spécial... (hormis les underscore ))
- Pour mettre du code :
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
- Pour ce qui est de l'erreur sur la ligne de code :
MsgBox Cellule
.... vu que tu déclare ta variable ainsi :
Dim Cellule As Range
... Cellule ... est une "RANGE" (une plage de celllules ou une seule cellule...)
Donc... cet "objet" contient une propriété VALUE (pour en avoir le contenu...) , une propriété ADRESSE ( pour connaitre ses coordonnées.....) ... bref... à toi de choisir ce que tu veux afficher.
Tu pourrais donc écrire :
Set Cellule = Sheets("BDD résumé").Columns(26).Find(Valcherchée, Lookat:=xlWhole) MsgBox Cellule If Cellule Is Nothing Then MsgBox "Non trouvé." Exit Sub else MsgBox Cellule.Adresse myRange = Cellule.Offset(, -19) myRange.Value = Sheets("MàJ PA - retour audités").Range("I17").Value End If
Ensuite tu indiques :
ma "Valcherchée" est bien présente dans ma colonne Z.
... mais... le texte est présent TEL QUEL dans ta cellule... ou il fait parti d'un TEXT contenu dans ta cellule ???
Pour rappel : xlWhole Correspond à => Correspondance EXACTE.
Et pour finir ....
=> N'utilises pas de caractères ACCENTUES dans le nom de tes variables !
(ni aucun caractère spécial... (hormis les underscore ))