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 :

Identifier une valeur et la recopier plus bas [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 361
    Par défaut Identifier une valeur et la recopier plus bas
    Bonjour,

    Dans la ligne 5 de mon fichier Excel j'aimerais identifier toutes les cellules qui finissent par un 1 et les recopier plus bas. Par exemple O11 O21....

    j'ai pensé a un code a peu pré comme celui ci, s'il peut être corrigé ce serait cool

    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
    Sub test()
        Dim Plage As Range
        Dim Cel As Range
        Dim Adr As String
     
    With Worksheets("Feuil1")
            'en colonne C à partir de C5
     
            Set Plage = .Range(.Cells(5, 3), .Cells(5,  .Columns.Count).End(xlToRight))
     
    End With
     
    'Recherche les valeurs qui ont un 1 à la fin sur la ligne 5 (a partir de la cellule C5)
     
    Set Cel = Plage.Find(
     
    Right(« chercher sur la plage « set Plage », 1) = 1
     
     
    'si trouvé, mémorise l'adresse et boucle en inscrivant
    'les valeurs inscrites dans la plage nommée qui correspondent
     
    If Not Cel Is Nothing Then
     
         Adr = Cel.Address
     
             Do
     		Copier la valeur trouvée dans la cellule C13 D13 …. (plus il y en a plus on copiera les valeurs sur la ligne)
     
    End Sub
    merci beaucoup!!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,
    Proposition à tester.

  3. #3
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut identifier une valeur
    bonjour rjamin,

    Petit aparté sur ton code uniquement pour ma gouverne.
    Tu utilises "shearch" que je n'ai jamais utilisé et, je crois, jamais rencontré sur ce site.
    En regardant l'aide sur cette methode, je ne vois pas trop la différence avec la fonction 'instr". Peux-tu m'éclairer ?

    Cordialement,

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,
    Search permet de trouver la position de départ d'une sous chaine dans une chaine (même chose que la fonction de feuille Cherche.
    Ici je cherche la position du 2ème signe $ dans l'adresse.
    Tandis que Instr vérifie si une sous chaîne se trouve dans une chaine.

  5. #5
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut identifier une valeur
    Bonjour Rjamin,

    Il y a surement une raison qui m'échappe pour privilégier 'instr' à 'search' ou vice versa mais le fait est qu'elles retournent toutes deux la position de départ d'une sous chaine.

    Si le but de 'instr' était uniquement de vérifier l'existence, il me semble que le retour serait "vrai" ou "faux" alors que dans l'exemple ci-dessous les deux fonction renvoient = 18
    cela restera pour moi une des nombreux mystères de VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub instr_search()
    
    texte = "le vba excel est difficile à comprendre"
    MsgBox InStr(1, texte, "difficile")
    'aide vba :envoie une valeur de type Variant (Long) indiquant la position de la première occurrence d’une chaîne dans une autre.
    
    MsgBox WorksheetFunction.Search("difficile", texte)
    'aide vba : recherche une chaîne de texte dans une seconde chaîne de texte, et renvoie le numéro de la position de départ de la première chaîne de texte à partir du premier caractère de la seconde chaîne de texte.
    
    End Sub
    cordialement,

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

Discussions similaires

  1. Identifier une valeur non définie et comparaison
    Par r_systeme dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/02/2015, 10h16
  2. Identifier une valeur du DropDownList
    Par SonnyFab dans le forum ASP.NET
    Réponses: 1
    Dernier message: 18/06/2010, 13h29
  3. [2.3] Afficher une valeur calculée plus bas
    Par Fuggerbit dans le forum BIRT
    Réponses: 5
    Dernier message: 04/02/2010, 19h15
  4. Comparaison d'une valeur pour trouver la plus proche
    Par Falcdyr dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/04/2008, 17h10
  5. Identifier une valeur
    Par fermat dans le forum Delphi
    Réponses: 2
    Dernier message: 16/10/2006, 09h28

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