Erreur dans une macro avec Find et FindNext
Résolu
Pixil
Messages postés
2
Statut
Membre
-
Pixil Messages postés 2 Statut Membre -
Pixil Messages postés 2 Statut Membre -
Bonjour à tous,
Afin de résoudre un problème de compatibilité sur un fichier excel, je cherche à le modifier de manière automatique.
La description de la fonction que je cherche à mettre en place est la suivante :
A partir de la ligne 2
Chercher dans la cellule de la colonne D l'expression "mot".
Si la cellule en question contient "mot" Alors
Inscrire une croix "X" dans la colonne E de la ligne active
Sinon, ne rien faire
Puis répéter l'action pour la ligne suivante jusqu'à la ligne 1200.
à l'aide de l'aide excel et quelques infos glanées sur le net, voici ce à quoi j'ai pensé :
La macro ne fonctionne pas encore car la fonction Range ne renvoie pas de valeur et ma faible connaissance du VBA ne me permet pas de trouver de solution pour le moment.
J'imagine que ce problème pourrait être résolu en quelques secondes par un érudit, toute aide sera la bienvenue.
Merci d'avance
Pixil
Afin de résoudre un problème de compatibilité sur un fichier excel, je cherche à le modifier de manière automatique.
La description de la fonction que je cherche à mettre en place est la suivante :
A partir de la ligne 2
Chercher dans la cellule de la colonne D l'expression "mot".
Si la cellule en question contient "mot" Alors
Inscrire une croix "X" dans la colonne E de la ligne active
Sinon, ne rien faire
Puis répéter l'action pour la ligne suivante jusqu'à la ligne 1200.
à l'aide de l'aide excel et quelques infos glanées sur le net, voici ce à quoi j'ai pensé :
Sub XRecherche()
'
' XRecherche Macro
'
With Worksheets("sheet").Range("D2:D1200")
Set c = .Find("mot", LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
FirstAddress = c.Address
Do
Range("E" & "ActiveCell.Row").Select
ActiveCell.FormulaR1C1 = "X"
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> FirstAddress
End If
End With
End Sub
La macro ne fonctionne pas encore car la fonction Range ne renvoie pas de valeur et ma faible connaissance du VBA ne me permet pas de trouver de solution pour le moment.
J'imagine que ce problème pourrait être résolu en quelques secondes par un érudit, toute aide sera la bienvenue.
Merci d'avance
Pixil
A voir également:
- Erreur dans une macro avec Find et FindNext
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Find and mount - Télécharger - Récupération de données
- Jitbit macro recorder - Télécharger - Confidentialité
- Find vba - Astuces et Solutions
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
1 réponse
Bonjour,
Peut-être ainsi :
Bon Dimanche
Peut-être ainsi :
Sub XRecherche()
'
' XRecherche Macro
Dim C As Range
With Worksheets("Feuil1") 'Attention au nom de la feuille
With .Range("D2:D" & .Cells(Rows.Count, "D").End(xlUp).Row)
Set C = .Find("mot", LookIn:=xlValues, LookAt:=xlPart)
If Not C Is Nothing Then
FirstAddress = C.Address
Do
C.Offset(0, 1).Value = "X"
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstAddress
End If
End With
End With
End Sub
Bon Dimanche
Pixil
Messages postés
2
Statut
Membre
Bonsoir, problème résolu. Merci pour l'aide et bonne soirée !