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 VBA merci


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 17
    Points : 12
    Points
    12
    Par défaut recherche VBA merci
    bonjour



    explication

    j'ai une liste d'article avec référence qui me sert a réaliser des ouvrage, exemple "ref: 2,6,21,7=ouvrage N°1
    je voudrais savoir si il est possible de recherche des référence données pour les inséré dans une autre feuille

    j'ai ceci mais je ne comprend pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim Cel As Range
    Dim Ref As Integer
     
      Ref = 4
      Set Cel = Sheets("Feuil1").Columns("A").Find(what:=Ref, LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Sheets("Feuil2").Range("C20") = Cel.Offset(0, 5)
      End If
     
    End Sub
    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    La macro Test cherche dans la colonne A de la feuille nommée Feuil1, la valeur exacte de Ref (ici 4). Si une occurrence existe pour cette valeur, alors le contenu de la cellule trouvée décalée de 5 colonnes à droite est copié dans la cellule C20 de la feuille nommée Feuil2.

    Dans votre cas, s'il s'agit de trouver la chaîne de caractères "ref: 2,6,21,7=ouvrage N°1", il faut remplacer Ref par cette chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Cel = Sheets("Feuil1").Columns("A").Find(what:="ref:2,6,21,7=ouvrage N°1", LookIn:=xlValues, lookat:=xlWhole)
    Cordialement.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    merci

    explication très clair

    si maintenant je souhaite rechercher d'autre "Ref" pour les copie en dessous




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim Cel As Range
    Dim Ref As Integer
     
    Ref = 4
    Set Cel = Sheets("Feuil1").Columns("A").Find(what:=Ref, LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
    Sheets("Feuil2").Range("C20") = Cel.Offset(0, 5)
    End If
     
    End Sub
    quel procédure, j'ajoute derrière le 4 ou bien il faut créer une nouvelle condition

    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pascal.59 Voir le message

    si maintenant je souhaite rechercher d'autre "Ref" pour les copie en dessous
    quel procédure, j'ajoute derrière le 4 ou bien il faut créer une nouvelle condition
    Un exemple possible à partir d'une variable tableau :


    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
    33
    34
    35
    36
    37
    38
    Sub TestVersion2()
     
    Dim ShSource As Worksheet
    Dim ShCible As Worksheet
     
    Dim LigneCibleEnCours As Long
    Dim I As Long
     
    Dim ValeursAChercher As Variant
     
     
            Set ShSource = Sheets("Feuil1")
            Set ShCible = Sheets("Feuil2")
            LigneCibleEnCours = 20
     
            ValeursAChercher = Array(4, 15, 10) 'L'ordre a son importance pour le résultat.
     
            For I = 1 To 3
                RecuperationDonnees ShSource, ValeursAChercher(I - 1), ShCible.Range("C" & LigneCibleEnCours)
                LigneCibleEnCours = LigneCibleEnCours + 1 ' Si les résultats doivent s'ajouter les uns à la suite des autres
            Next I
     
            Set ShSource = Nothing
            Set ShCible = Nothing
     
     
    End Sub
     
     
    Sub RecuperationDonnees(ByVal FeuilleSource As Worksheet, ByVal ValeurRecherchee As Variant, CelluleCible As Range)
     
    Dim CelluleRecherchee As Range
     
            Set CelluleRecherchee = FeuilleSource.Columns("A").Find(what:=ValeurRecherchee, LookIn:=xlValues, lookat:=xlWhole)
            If Not CelluleRecherchee Is Nothing Then CelluleCible = CelluleRecherchee.Offset(0, 5)
            Set CelluleRecherchee = Nothing
     
    End Sub
    Bon courage.

    Cordialement.

Discussions similaires

  1. Code de recherche vba
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/08/2008, 12h17
  2. Systéme de recherche vba
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/08/2008, 17h59
  3. Problème recherche vba
    Par stargates dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 16/05/2008, 20h19
  4. Recherche VBA sous PowerPoint
    Par jonath2210 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 25/10/2007, 07h48
  5. Recherche VBA dans plusieurs colonnes.
    Par madchemiker dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/07/2007, 13h09

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