Chercher un mot dans une ligne
zakaria.mouk
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
zakaria.mouk Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
zakaria.mouk Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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".
J'espère que vous avez bien ma demande, sinon n'hésitez pas à me demander.
Merci à vous.
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".
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
J'espère que vous avez bien ma demande, sinon n'hésitez pas à me demander.
Merci à vous.
A voir également:
- Chercher un mot dans une ligne
- Partager photos en ligne - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mètre en ligne - Guide
4 réponses
Bojour
actuellement avec like "*([a-zA-Z])*" tu testes si tu as au moins 1 lettre de l'alphabet. or dans ta demande tu écris que tu teste si il existe le mot "value" ?
actuellement avec like "*([a-zA-Z])*" tu testes si tu as au moins 1 lettre de l'alphabet. or dans ta demande tu écris que tu teste si il existe le mot "value" ?
Bonjour,
michel_m: le test "value" est pour la ligne 3 de Y3:AR3, c'est ce que j'ai compris
michel_m: le test "value" est pour la ligne 3 de Y3:AR3, c'est ce que j'ai compris
Sub test() Dim CurCell As Object Dim Plage As Range Dim col As Range 'Plage de titre colonnes Set Plage = Range("Y3:AR3") 'boucle sur plage de tire colonne For Each col In Plage 'test si value dans titre If col Like "*value*" Then 'cherche le nom (la lettre) de la colonne Colonne = Split(Cells(8, col.Column).Address, "$")(1) 'boucle sur la colonne For Each CurCell In Range(Colonne & "5:" & Colonne & "5000") 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 CurCell End If Next col End Sub
Rebonjour,
Donc je ne suis pas resté les bras croisée,j'ai cherché et j'ai trouvé une solution et je la partage avec vous
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
Mais ça ne marche pas, si vous avez une idée n'hésitez pas.
Merci
Donc je ne suis pas resté les bras croisée,j'ai cherché et j'ai trouvé une solution et je la partage avec vous
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
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
La solution :-D
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