Rechercher cellules qui contiennent
Résolu
Jimmy59116
Messages postés
48
Statut
Membre
-
Bidouilleu_R Messages postés 1209 Statut Membre -
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,
Je me bats depuis un moment avec un problème apparemment simple...
Dans une feuille, je recherche les cellules contenant une partie de texte.
Le but du jeu : effacer ce qui est dans la cellule en dessous.
Le test qui n'a pas marché :
sub conges()
Dim Cell As Range
Range("A1:P200").select
For Each Cell In Selection
If Cell.Value Like "Conge" Then
ActiveCell.Offset(1, 0).Select
ActiveCell.ClearContents
End If
Next
End Sub
Il sélectionne les cellules de ma feuille (ce qui me fait plaisir), mais il ne fait rien...
Pour la petite histoire, je travaille sur un planning mal foutu... Les congés sont notés avec trop de détails (ex : "A1" = Conges payes / "A2" = Accordés par...). Je voudrais supprimer les infos inutiles.
La difficulté : il y a différents types de congés, donc la recherche par mot est partielle.
J'ai essayé avec des fonctions find, mais là non plus, je n'ai pas réussi.
Mon ami google et les différents forums ne m'ont pas éclairés, à moins que ça soit moi qui ne saches plus lire correctement...
D'avance, merci pour votre aide !
Jimmy
Je me bats depuis un moment avec un problème apparemment simple...
Dans une feuille, je recherche les cellules contenant une partie de texte.
Le but du jeu : effacer ce qui est dans la cellule en dessous.
Le test qui n'a pas marché :
sub conges()
Dim Cell As Range
Range("A1:P200").select
For Each Cell In Selection
If Cell.Value Like "Conge" Then
ActiveCell.Offset(1, 0).Select
ActiveCell.ClearContents
End If
Next
End Sub
Il sélectionne les cellules de ma feuille (ce qui me fait plaisir), mais il ne fait rien...
Pour la petite histoire, je travaille sur un planning mal foutu... Les congés sont notés avec trop de détails (ex : "A1" = Conges payes / "A2" = Accordés par...). Je voudrais supprimer les infos inutiles.
La difficulté : il y a différents types de congés, donc la recherche par mot est partielle.
J'ai essayé avec des fonctions find, mais là non plus, je n'ai pas réussi.
Mon ami google et les différents forums ne m'ont pas éclairés, à moins que ça soit moi qui ne saches plus lire correctement...
D'avance, merci pour votre aide !
Jimmy
A voir également:
- Rechercher cellules qui contiennent
- Rechercher ou entrer l'adresse - Guide
- Rechercher image - Guide
- Verrouiller cellules excel - Guide
- Rechercher remplacer word - Guide
- Excel additionner plusieurs cellules - Guide
3 réponses
Sub conges()
Dim Cell As Variant
For Each Cell In Range("A1:c200")
Cell.Select
x = InStr(1, Cell.Value, "conge")
If InStr(1, Cell.Value, "conge") > 0 Then
Cell.Offset(1, 0).Select
Selection.ClearContents
End If
Next
End Sub
je te propose de faire comme ça .
Attention si tu supprimes une cellule il vaut mieux ne pas utiliser for each.
J'avais écrit "conge" pas d'accent et pas de majuscule
attention!
la donnée du dessous sera effacée mais la cellule ne sera pas supprimée.
attention!
la donnée du dessous sera effacée mais la cellule ne sera pas supprimée.
Sub conges()
Dim Cell As Variant
Dim maRecherche as String
maRecherche="Conge" ' ici tu modifies ta recherche
For Each Cell In Range("A1:c200")
Cell.Select
x = InStr(1, Cell.Value, maRecherche") ' ça :c'est pour te montrer
If InStr(1, Cell.Value, maRecherche) > 0 Then
Cell.Offset(1, 0).Select
Selection.ClearContents
End If
Next
End Sub
OK, ça fonctionne impeccable. Y'a juste un truc qui m'embête... je n'ai pas tout compris. A ce que j'ai lu, les fonctions InStr servent à compter le nombre de fois que revient un caractère dans un mot...
L'essentiel est que ça fonctionne, mais tu viens de m'ouvrir là une nouvelle piste d'apprentissage.
Merci pour ton aide !
L'essentiel est que ça fonctionne, mais tu viens de m'ouvrir là une nouvelle piste d'apprentissage.
Merci pour ton aide !
Merci pour ton aide.