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

Excel Discussion :

chercher un mot dans une ligne et ensuite la colonne qui correspond à la cellule ou le mot existe


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 26
    Points : 21
    Points
    21
    Par défaut chercher un mot dans une ligne et ensuite la colonne qui correspond à la cellule ou le mot existe
    Bonjour à tous,
    Je viens vers vous pour demander de l'aide, j'ai besoin de code d' un macro qui permet de parcourir la 3ème ligne(qui contient les titres des colonnes), et vérifier chaque cellule (ou titre) s'elle contient le mot "value", si oui, le macro parcourt la colonne qui correspond a cette cellule.
    j'ai besoin de ce macro pour optimiser la recherche, voici le code que je dois appliquer sur les cellules de la colonnes ou se trouve le mot "Value".
    dans ce code dessous, Range("Y5:AR5000") correspond à la plage qui contient les colonnes dont le titre contient le mot "value".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim CurCell As Object
    For Each CurCell In Range("Y5:AR5000")
        If (CurCell.Value Like "*([a-zA-Z])*" Or CurCell.Value Like "*[\.|/|°]*") And Not IsNumeric(CurCell.Offset(0, 1).Value) Then
            CurCell.Offset(0, 1).Select 'Select the error
            CurCell.Offset(0, 1).Interior.ColorIndex = 0
            MsgBox "Error unit at " & CurCell.Offset(0,1).Value & " in cell: " & CurCell.Offset(0, 1).Address
        End If
        Next
    '
    End Sub
    J’espère que vous avez bien ma demande, sinon n'hésitez pas à me demander.
    Merci à vous.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 26
    Points : 21
    Points
    21
    Par défaut Parcourir une colonne sélectionnée...
    Rebonjour,
    Je ne suis pas resté les bras croisés , j'ai trouvé une solution et je la partage avec vous
    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
    Sub TestUnits2()
    '
    ' TestUnits2 Macro
    '
    'Rows("3:3").Select
    Dim CurCell As Object
    For Each CurCell In Range("A3:CP3")
        For i = 1 To 20
            If CurCell.Value = "Charact" & i Then
                CurCell.Columns.Select
                'ActiveCell.Column.Interior.ColorIndex = 10
                MsgBox "Value Find in :" & CurCell.Rows.Address
            End If
        Next i
    Next
    End Sub
    Donc, voila comme vous voyez ce programme sélectionne la colonne ou il se trouve le mot "Charact1", "charact2"...ect, mais ce n'est pas de tout fini, parce que il faut ensuite parcourir toute la colonne ou il se trouve ce mot (par exemple: charact 1) ligne par ligne et vérifier la condition, je pense qu'il va se ressembler à ça

    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
    Sub TestUnits2()
    '
    ' TestUnits2 Macro
    '
    'Rows("3:3").Select
    Dim CurCell As Object
    Dim cell As Variant
     
    For Each CurCell In Range("A3:CP3")
        For i = 1 To 20
            If CurCell.Value = "Charact" & i Then
                Colonne = CurCell.Columns.Select
                'ActiveCell.Column.Interior.ColorIndex = 10
                'MsgBox "Value Find in :" & CurCell.Columns.Address
                For Each cell In Colonne
                    If (cell.Value Like "*([a-zA-Z])*" Or cell.Value Like "*[\.|/|°]*") And Not IsNumeric(cell.Offset(0, 1).Value) Then
                        cell.Offset(0, 1).Select 'Select the error
                        cell.Offset(0, 1).Interior.ColorIndex = 0
                        MsgBox "Error unit at " & cell.Value & " in cell: " & cell.Offset(0, 1).Address
                    'ElseIf then
                    End If
                Next
            End If
        Next i
    Next
    End Sub
    Mais ça ne marche pas, si vous avez une idée n'hésitez pas.
    Merci

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    La solution
    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
    Sub TestUnity()
    '
    ' TestUnity Macro
    '
    Dim CurCell As Object
    Dim rCell As Range
     
     
    For Each CurCell In Range("A3:CP3")
        For i = 1 To 20
            If CurCell.Value = "Charact" & i Then
                'Sélection de cellules vers le bas depuis la cellule active.
                'Range(CurCell, CurCell.End(xlDown)).Select 
     
                For Each rCell In Range(CurCell, CurCell.End(xlDown))
                    If confition Then
                        Instruction 1
                        Instruction 1
                    End If
                Next
            End If
        Next i
    Next
    '
    End Sub

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    Un sujet crée et résolu par moi même , Merci à moi

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

Discussions similaires

  1. chercher un mot dans une ligne
    Par Fatah93 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/03/2008, 10h22
  2. récuperer un mot dans une ligne sous C#
    Par ouadie99 dans le forum C#
    Réponses: 2
    Dernier message: 07/01/2008, 17h25
  3. chercher des occurences dans une ligne
    Par bouzaidi dans le forum C++
    Réponses: 4
    Dernier message: 03/08/2007, 09h07
  4. remplacer un mot dans une ligne
    Par italiasky dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 08/04/2007, 19h19
  5. Chercher des mots dans une ligne
    Par chemouz dans le forum C++
    Réponses: 1
    Dernier message: 17/12/2005, 12h42

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