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 :

Recherche de texte via variables -> Erreur


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Août 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Août 2016
    Messages : 34
    Par défaut Recherche de texte via variables -> Erreur
    Bonjour,

    J'ai créé un Userform qui doit alimenter un planning de la façon suivante :
    J'ai créé une feuille par jour de la semaine.
    Je remplis un intitulé dans une TextBox, puis je sélectionne dans des ComboBox la personne à qui la tâche va incomber, le jour de la semaine, ainsi que l'heure à laquelle la tâche doit être exécutée.

    Puis j'appuie sur un CommandButton, qui aura cet effet : Sélectionner la cellule correspondant à la personne, à l'heure et au jour, et remplir l'intitulé dans cette cellule.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub CommandButton2_Click()
     
    Dim Employe As String, Jour As String, Heure As String, Intitule As String, Cellule1 As Range, Cellule2 As Range, Colonne As Byte, Ligne As Byte
    Employe = ComboBox1.Value
    Jour = ComboBox2.Value
    Heure = ComboBox3.Value
    Intitule = TextBox1.Value
     
    With Worksheets(Jour).Cells
    Set Cellule1 = .Find(Employe, LookIn:=xlValues)
    Colonne = Cellule1.Column
     
    End With
     
    With Worksheets(Jour).Cells
    Set Cellule2 = .Find(Heure, LookIn:=xlValues)
    Ligne = Cellule2.Row
     
    End With
     
    End Sub
    J'espère ainsi, sur la bonne feuille liée à ma variable Jour, récupérer le numéro de la colonne ainsi que de la ligne correspondant au bon employé et à la bonne heure, afin d'ensuite sélectionner la cellule à l'intersection de la ligne et de la colonne, afin de copier le texte de l'Intitulé.

    Seulement voilà, ça fonctionne pour la colonne (Employe), mais pour la ligne (Heure), j'ai une erreur 91 : variable objet ou variable de bloc With non définie, sur la ligne :
    Pourtant j'ai fait exactement la même chose que pour la colonne...

    Avez-vous une idée ?

    Merci !

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 493
    Par défaut
    Hello,

    La méthode Find ne te retourne une référence valide que si et seulement si elle trouve quelque chose. Dans la cas contraire, la référence vaudra Nothing, il convient de la tester:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set Cellule1 = .Find(Employe, LookIn:=xlValues)
    If Not (Cellule1 Is Nothing) Then
        '// Faire quelque chose avec Cellule1
    End If
    Ne pré-déclare pas toutes tes variables en début de fonction, tu gaspilles des ressources (Pourquoi déclarer des variables au début quand elles ne sont utilisées qu'a la fin ?)
    Préfère déclarer une variable par ligne, tu gagneras en lisibilité.

Discussions similaires

  1. Recherche de texte dans une variable
    Par Ninpa dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/01/2010, 09h50
  2. import texte via variable url (AS2)
    Par rduvrac dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 02/11/2009, 09h18
  3. [vb-net] Recherche de texte dans une variable
    Par skaraa dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/09/2007, 16h48
  4. recuperer champs texte dans variable session via javascript
    Par richton95 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2006, 14h17
  5. Faire une recherche de texte dans un tableau de variable
    Par alexxx69 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/02/2006, 13h12

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