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 :

Inserer valeur verification [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut Inserer valeur verification
    Bonjour,

    J'aurais aimé savoir comment serait il possible de faire :

    J'ai un Inputbox ou j'entre un text (abcde-01-005) et je dois verifier si cela existe car si cela existe je dois modifier mon texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Etiquette()
    Dim Message
    Message = InputBox("etiquette choisie", "question")
    'Verification de l'étiquette
    If Message = Message Then
     
    Else
     
    Message = InputBox("Etiquette Choisie", "question")
     
    End If
     
    End Sub
    En utilisant une formule j'obtiens le resultat que je souhaite
    =SI(J883=(RECHERCHEV(J883;ETiquette;1;FAUX));"Cela Existe";"Cela n'existe pas")
    Mais je me dis que faire via une macro cela serait plus facile pour mes collègues.

    Le soucis est que je calle au if et à l'insertion après dans la cellule ou je me trouve. (en gros je bloque dans le vba )

    DOis je partir de la formule que j'ai ou dois je partir vers des tableaux et autres ?


    Merci d'avance

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,


    Pour la recherche un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim MaPlage As Range,  Frecherche As Range, Marecherche as string
    marecherche = range("J883").value
    Set MaPlage = Range(Cells(2, 1), Cells(100, 1)) ' Plage de recherche 
    On Error Resume Next 
    Set Frecherche = MaPlage.Find(MaRecherche)
    If Frecherche Is Nothing Then
    ...
    Else
    ...
    Endif

    Edit1 : Dans ton exemple tu peux boucler sur ton inputbox tant que l'on trouve la recherche.

    Edit2 : Un exemple un peu plus complet :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Sub recherche_valeur()
    Dim Mess As String, MaPlage As Range, MonPrompt As String
     
    MonPrompt = "Entrer la valeur."
    Set MaPlage = Range(Cells(2, 1), Cells(100, 1)) ' Plage de recherche
     
    Do
        Mess = InputBox(MonPrompt, "Mon Titre", Mess)
        If Mess = Empty Then:     Exit Do:
    Loop While recherche(Mess, MaPlage) = True
     
    If Mess > Empty Then
        MsgBox "ok"
    Else
        MsgBox "ko"
    End If
     
    Set MaPlage = Nothing
    End Sub
     
    Function recherche(ByRef Mess As String, ByRef MaPlage As Range) As Boolean
    Dim Frecherche As Range
    On Error Resume Next
    Set Frecherche = MaPlage.Find(Mess)
    If Not Frecherche Is Nothing Then
        recherche = True
        Mess = Mess & " déja dans la feuille !"
    End If
    On Error GoTo 0
    Set Frecherche = Nothing
    End Function

  3. #3
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut
    Super merci.

    nikel.

    Par contre, comment je fait pour savoir la cellule où je me trouve?

    Pour inserer quelque choses c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B3").Value = "toto"
    Mon code sera donc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(cellactu).Value = Mess
    le tout est comment obtenir cellactu?

    Merci d'avance

  4. #4
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut
    Bonjour je me permets de revenir.

    Je pense que je peux passer par une boite pour demande la cellule ou je me trouve. (moyen détourné je le sais).

    Mais je n'arrive pas à voircomment faire pour que dans le code il prend cette information.

    Soit c'est simple et je pense compliqué. soit je vois pas du tout.

    Merci d'avance.

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Pour avoir l’adresse de la cellule qui contient le texte recherché, tu peux compléter le message dans la fonction Recherche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mess = Mess & " est déjà dans la feuille à l'adresse " & Frecherche.Address
    Et pour te positionner sur la cellule
    Cordialement.

  6. #6
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut
    Merci.

    le soucis est que je ne veux pas me positionner là où existe l'info.

    En fait mon fichier excel est un fichier d'inventaire. Donc quand je dois ajouter un nouvel ellement je dois lui mettre une etiquette, qui doit être unique bien entendu. ET donc je souhaiterais que lors de l'encodage je me positionne dans la cellule pour encoder l'etiquette. Ensuite je clique sur la macro et si l'info est ok, il l'insere sinon ben il me demande un autre.

    là pour contourner le soucis je fais comme cela. je demande à l'utilisateur d'indiquer où il se trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    loc = InputBox(MonPrompt, "Mon Titre", loc)
    et donc après je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(loc).Value = Mess

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

Discussions similaires

  1. probleme pour inserer valeur sql dans affichage image
    Par 77marins dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 25/07/2011, 17h15
  2. [MySQL] probleme pour inserer valeur sql pour affichage image
    Par 77marins dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/07/2011, 18h16
  3. [XL-2007] Inserer valeurs cellules sans formules - Débutant
    Par isfet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/05/2010, 18h53
  4. Inserer valeur checkbox dans MySQL
    Par Kornikopic dans le forum IHM
    Réponses: 3
    Dernier message: 19/06/2007, 13h22
  5. [VB.NET] inserer valeurs de Listview dans une table
    Par snoopdam dans le forum Accès aux données
    Réponses: 1
    Dernier message: 17/04/2007, 11h11

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