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 caractères dans une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Par défaut Recherche de caractères dans une cellule
    Bonjour,

    Je souhaite trouver la première cellule qui contient 08:
    Pour cela je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While Worksheets("Buffer").Range("C" & deb).Value <> "08:*"
                   deb = deb + 1
    Wend
    En pensant que * était un carcartère générique.
    Comment puis je faire.
    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    deb = 1
    While instr(Worksheets("Buffer").Range("C" & deb).Value, "08:") = 0
                   deb = deb + 1
    Wend
    Tu peux aussi utiliser Find -> F1

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Par défaut
    Hello,

    J'avais fais ça un coup. Si ça peut t'être utile !
    Dans ValeurCherche tu y met ce que tu veux chercher.
    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
    Sub ChercheValeur()
    Dim Lign As Long, Coll As Long, Ajout As Byte, ValeurCherche As Variant
    Dim RP As Long, I As Long, cl As Variant, CellDeRecherche As Variant
     
    ValeurCherche = "*VAR*" ' VALEUR A CHERCHER
    CellDeRecherche = "A1:C100" ' PLAGE DE RECHERCHE
     
    Lign = 0 ' INITIALISE - LIGNE A TRAITER(SOIT LA LIGNE VARIABLE OU BIEN LA DERNIERE LIGNE UTILISE)
    Coll = 0 ' INITIALISE - JUSTE POUR INFO, COLONNE A TRAITER
    Ajout = 0 ' INITIALISE - AJOUT A LIGN SI PAS DE LIGNE VARIABLES
     
        For Each cl In ActiveSheet.Range(CellDeRecherche)
            If UCase(cl) Like ValeurCherche Then
                Lign = cl.Row
                Coll = cl.Column
                GoTo Suite
            End If
        Next cl
    Suite:
        RP = Lign
            If Lign = 0 Then ' PAS TROUVE DE VALEUR ALORS RECHERCHE DEPUIS LA FIN LA DERNIERE LIGNE CONTENANT UN CARACTERE
                For I = 1 To 256
                    If Lign < Cells(65536, I).End(xlUp).Row Then
                        Lign = Cells(65536, I).End(xlUp).Row
                        Coll = Cells(65536, I).Column
                    End If
                Next I
                Ajout = 4
                RP = (Lign + Ajout)
            End If
     
            MsgBox ("VALEUR UTILE (RP) : " & RP & Chr(10) & "LIGNE TROUVE (Lign) : " & Lign _
            & Chr(10) & "COLONNE TROUVE (Coll) : " & Coll & Chr(10) & "VOICI LA VALEUR : " & cl)
    End Sub

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Par défaut
    Citation Envoyé par ouskel'n'or
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    deb = 1
    While instr(Worksheets("Buffer").Range("C" & deb).Value, "08:") = 0
                   deb = deb + 1
    Wend
    Tu peux aussi utiliser Find -> F1
    ça marche pô

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    Tu peux utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim v As Integer
     
    On Error Resume Next
    v = Application.Match("08:*", Worksheets("Feuil1").Columns("C"), 0)
    On Error GoTo 0
     
    If v <> 0 Then MsgBox "Trouvé ligne: " & v


    michel

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Par défaut
    Citation Envoyé par SilkyRoad
    bonjour

    Tu peux utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim v As Integer
     
    On Error Resume Next
    v = Application.Match("08:*", Worksheets("Feuil1").Columns("C"), 0)
    On Error GoTo 0
     
    If v <> 0 Then MsgBox "Trouvé ligne: " & v


    michel
    Je ne comprend pas ce que c'est censé faire. En plus je ne parvient pas a avoir l'aide (F1) sur Match. Je l'ai lancé mais ça m'a rien fait je vais le mettre dans une boucle while pour voir.

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Rebonjour

    Je ne comprend pas ce que c'est censé faire.
    ça fait ce que tu as demandé:
    trouver la première cellule qui contient 08:
    La procédure cherche la chaîne de caractères 08: dans la colonne C de la feuille nommée "Feuil1".


    Application.Match correspond à la formule EQUIV lorsque tu utilises des fonctions de la feuille de calcul.
    EQUIV(valeur_cherchée;matrice_recherche;type)
    soit:
    Application.Match("08:*", Worksheets("Feuil1").Columns("C"), 0)



    michel

Discussions similaires

  1. [XL-2010] Recherche d'une sous-chaîne de caractères dans une cellule
    Par StephThai dans le forum Excel
    Réponses: 7
    Dernier message: 13/01/2014, 04h21
  2. Réponses: 1
    Dernier message: 06/05/2007, 17h42
  3. limite Caractère dans une cellule Excel 2000
    Par Vetchostar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2007, 14h36
  4. Réponses: 1
    Dernier message: 06/12/2006, 09h22
  5. Recherche de caractere dans une cellule
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/11/2006, 12h24

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