Rechercher cellules qui contiennent
Résolu
Jimmy59116
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
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
- Formule excel pour additionner plusieurs cellules - Guide
- Rechercher image - Guide
- Verrouiller cellules excel - Guide
- Rechercher remplacer word - 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.