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 : objet non défini [XL-2013]


Sujet :

Macros et VBA Excel

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Par défaut erreur : objet non défini
    Bonjour à tous,

    J'ai un petit soucis que je n'arrive pas à résoudre dans un tout petit bout de code :

    avant j'avais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim strAddress1, strAddress2, strAddress3, strAddress4, strAddressRef As String
    strAddress1 = Worksheets("S1").Range("a:a").Find(what:=NouvelleEntree.DTPicker1.Value).Address


    et j'ai changer la valeur de DTPicker en une Textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim strAddress1, strAddress2, strAddress3, strAddress4, strAddressRef As String
    strAddress1 = Worksheets("S1").Range("a:a").Find(what:=NouvelleEntree.textbox241.Value).Address
    et là, j'ai une erreur comme quoi mon objet n'est pas défini ..

    Je ne comprend pas, quelqu'un pourrait m'aider ?

    Merci d'avance,

    Cordialement,

    charles

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Je vais regarder ça mais je pense que c'est vraiment tout con :p
    Par contre, première remarque : Sais-tu que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim strAddress1, strAddress2, strAddress3, strAddress4, strAddressRef As String
    Correspond à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim strAddress1 'donc As Variant
    Dim strAddress2 'donc As Variant
    Dim strAddress3 'donc As Variant
    Dim strAddress4 'donc As Variant
    Dim strAddressRef As String 'Le seul à être déclaré en String
    à tout de suite

    Attends, première question concernant ton erreur :
    Si tu fais en pas à pas, tu trouves une erreur à quel niveau ? Parce que l'erreur provient, j'imagine, du .value qui fait qu'il ne trouve pas de cellule à l'aide du FIND et donc il ne peut pas affecter l'adresse d'aucune cellule à ta variable strAddress1...

    Essaie de faire Textbox241.Text ou encore de convertir le texte de la textbox en date avec :
    DateRecherchée = CDate(Textbox241.Text)

    Tu pourrais également faire que si aucune cellule ne correspond, alors erreur. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim RngAddress1 As Range
     
    Set RngAddress1 = Worksheets("S1").Range("a:a").Find(what:=CDate(NouvelleEntree.TextBox241.Text)).Address
     
    If RngAddress1 Is Nothing Then 
        MsgBox "Erreur"
    Else
        strAddress1 = RngAddress1.Address
    End If
    Qu'en penses-tu ? (J'espère que le CDate fonctionne dans le cas d'une recherche par FIND (j'ai pas essayé encore...)

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Je reviens de nouveau vers toi pour te dire qu'en cherchant avec comme .value une chaîne de caractères, tout roulait pour la macro (j'obtenais l'adresse), mais pour la date c'est pareil, ça ne fonctionnait plus.
    Il faut comprendre que la date te paraît logique mais pour l'ordi, dans ta TextBox, il y a de grandes chances pour qu'il voit ça comme du texte et pas comme une date (en traduisant donc le JJ/MM/AAAA) par un nombre, ce que faisait automatiquement ton DTPicker quand tu demandais sa .value.

    Donc CDate fait le job, et peu importe le format de la date dans ta TextBox et celui dans ta feuille, il convertira leur valeur en nombre et pas en chaîne de caractères, donc 1 janvier 14 ou 01/01/14, recherches 01/01/2014 dans ta feuille, cela fonctionnera.

    Je ne sais pas si je suis super clair, par contre

    En espérant que ça t'aide !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Par défaut
    Merci beaucoup, je m'en suis sorti !!


    juste pour le détail, avec le code que tu m'a donné, j'avais une erreur sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set RngAddress1 = Worksheets("S1").Range("a:a").Find(what:=CDate(NouvelleEntree.TextBox241.Text)).Address
    il me mettait "objet requis". Comme on récupere l'adresse quand même avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strAddress1 = RngAddress1.Address

    j'ai enlevé le ".address de la 1ère ligne de code.

    Sa fonctionne, MERCI !

    Charles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Renvoi d'erreur Variable Objet non définie
    Par ADbtr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/06/2010, 14h16
  2. Erreur 91 variable objet non définie
    Par kmarcel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2008, 13h17
  3. Erreur 91 variable objet non défini
    Par sebeni dans le forum Général VBA
    Réponses: 3
    Dernier message: 07/05/2007, 11h12
  4. Réponses: 4
    Dernier message: 16/06/2006, 00h27

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