IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

erreur d'exécution 91 variable objet ou variable de bloc with non définie


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut erreur d'exécution 91 variable objet ou variable de bloc with non définie
    Bonjour à tous,

    j'ai un bug que je n'arrive pas à résoudre : erreur d'exécution 91 variable objet ou variable de bloc with non définie

    le code de la ligne ou ca bug est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strAdrDateEnvoiRelance = Range("C1:C100").Find(DateSerial(Mid(strAyJourOuvréMois(i), 7, 4), Mid(strAyJourOuvréMois(i), 4, 2), Mid(strAyJourOuvréMois(i), 1, 2)), Range("C1")).Address(False, False)
    la variable a la valeur suivante : strAyJourOuvréMois(i)=01/04/2016

    Le code VBA se déclenche quand je sélectionne la feuille ((Solde mensuel 2016) du classeur (Palettes europe BMF 2016). Il va copier toutes les cellules adacentes aux valeurs en dessous de -100 puis les colle sur une autre feuille d'un autre classeur, en mettant à coté les jours ouvrédu mois. Par al suite je veux afficher un msgbox dans le cas ou la date du jour est égal à une date parmis les dates des jours ouvrés créés dans la nouvelle feuille.

    Et c'est cette dernière étape ou j'ai le bug. il me renvoie une valeur vide alors que la valeur existe bel et bien dans le tableau créé. j'ai pas mal chercher sur les forums pour résoudre ca, mais je n'arrive toujours pas à trouver la source de mon erreur. J'ai essayer al meme synthaxe pour ma fonction FIND sur une autre feuille et ca avait marché.

    Quelqu'un voit il la source de mon erreur?
    Je vous remercie pour votre aidePalettes Europe BMF - 2016.xlsmNom : Sans titre.jpg
Affichages : 1216
Taille : 431,9 KoSUIVI Tableau relance mensuel transporteurs.xlsx

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    Si la méthode Find ne trouve rien, forcément tel quel ce code déclenche une erreur !

    Mieux vaut utiliser cette méthode comme dans l'exemple de l'aide VBA interne (ou sur le site MSDN)
    et en profiter pour lire ses paramètres ! Sans compter l'Enregistreur de macros …

    Voilà, voilà !

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut
    Salut Marc-L,

    Je te remrecie pour ta réactivité.
    Il se trouve que j'ai essayé avec Find(what:=......., lookin:=.....) et ca n'a rien donné non plus. J'ai aussi essayé la meme méthode de Find avec d'autes données et sur d'auters feuilles et ca fonctionnait très bien jusque la.

    As tu une idée de comment je pourrais écrire FIND afin que ca marche ?

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ce qu'indique Marc-L est que forcément sur le Find ne trouve pas, alors tu ne peux pas obtenir son adresse....
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim rgn As Range
    Set rgn = Range("C1:C100").Find(DateSerial(Mid(strAyJourOuvréMois(i), 7, 4), Mid(strAyJourOuvréMois(i), 4, 2), Mid(strAyJourOuvréMois(i), 1, 2)), Range("C1"))
    If Not rgn Is Nothing Then
    	strAdrDateEnvoiRelance = rgn.Address(False, False)
    End If

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut
    Bonjour cerede2000,

    Oui, et en réalité c'est bien là mon problème. je ne comprends pas pourquoi il ne trouve pas alors que la valeur existe. j'ai meme ajouté les dateserial pour etre sur de comment va s'écrire la valeur.
    j'ai dejà essayé avec un set rng mais même résultat. c.à. valeur non trouvé. je vous joins une photo pour vous rendre compte de la situation Nom : Sans titre2.jpg
Affichages : 1171
Taille : 314,1 Ko

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ah oui Find de date et en plus cellules fusionné une pur joie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C:C").Find(CDate(Mid(strAyJourOuvréMois(i), 7, 4) & "/" & Mid(strAyJourOuvréMois(i), 4, 2) & "/" & Mid(strAyJourOuvréMois(i), 1, 2)), LookAt:=xlWhole)

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut
    c'est vrai que c'est la première fois que j'utilise Find avec des cellules fusionnées, du coup je ne sais pas forcément s'il faut adopter une autre synthaxe, apparemment oui.
    donc j'ai essayé ton code et......... ça ne marche pas non plus. Quand je l'essaie à part en remplacant la variable strAyJourOuvréMois(i) par 01/04/2016 ca me donne bien ce que je veux, quand je l'essaie dans mon prgramme avec strAyJourOuvréMois(i) qui contient 01/04/2016 ca ne marche pas lol

    Nom : Sans titre3.jpg
Affichages : 1159
Taille : 154,5 KoNom : Sans titre4.jpg
Affichages : 1097
Taille : 471,3 Ko

  8. #8
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Met un classeur exemple avec donnée et code parce que les captures c'est bien mais pour tester faut tout repalucher à la main....

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut
    J'ai réessayé avec ça (en ajoutant le nom du fichier excel et de la feuille devant) et ca me trouve la valeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a = Workbooks("SUIVI Tableau relance mensuel transporteurs.xlsx").Worksheets(MonthName(strMoisNow)).Range("C:C").Find(CDate(Mid(strAyJourOuvréMois(i), 7, 4) & "/" & Mid(strAyJourOuvréMois(i), 4, 2) & "/" & Mid(strAyJourOuvréMois(i), 1, 2)), LookAt:=xlWhole)
    Donc à priori je me serais trompé sur le chemin et je cherchais dans une autre feuille. Donc je vais travailler avec ça et je ferais une petite mise à jour dans le cas ou ça marche complétement comme je le souhaite ou dans le cas ou je rencontre d'autres problèmes.

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2014
    Messages : 19
    Par défaut
    Citation Envoyé par cerede2000 Voir le message
    Met un classeur exemple avec donnée et code parce que les captures c'est bien mais pour tester faut tout repalucher à la main....
    j'ai déjà mis les deux classeurs en pièce jointe dans le premier post

Discussions similaires

  1. [XL-2013] erreur d'exécution 91 variable objet ou variable de bloc with non définie
    Par tmlpqsdpmdlc dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 08/06/2015, 13h25
  2. Réponses: 6
    Dernier message: 24/02/2015, 09h06
  3. Réponses: 4
    Dernier message: 24/05/2014, 19h24
  4. [XL-2007] Message d'erreur : Variable objet ou Variable de bloc With non définie
    Par toushusss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/06/2011, 10h02
  5. erreur 91 variable objet ou variable de bloc with non définie
    Par ballantine's dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 03/12/2009, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo