Bonjour,
Je cherche à faire en sorte que dès qu'on entre une valeur dans une certaine plage, elle soit aussitôt remplacée par.Code:="*" & +ActiveCell & "*"
Est-ce que c'est faisable ?
Version imprimable
Bonjour,
Je cherche à faire en sorte que dès qu'on entre une valeur dans une certaine plage, elle soit aussitôt remplacée par.Code:="*" & +ActiveCell & "*"
Est-ce que c'est faisable ?
bonjour,
tu dois pour cela mettre le code dans l'événement Worksheet_Change
Code:
1
2
3
4
5
6 Private Sub Worksheet_Change(ByVal Target As Range) ... target="*"+ target.value +"*" ... End Sub
Mais comment définir une plage d'action ? Je ne souhaite pas que cela fonctionne sur toute la feuille.
Il n'y a pas de "In" apparemment, mais certainement un équivalent...
tu peux faire comme cela
Code:
1
2
3
4
5
6
7
8
9
10 Private Sub Worksheet_Change(ByVal Target As Range) Dim ISCT As Range Set ISCT = Intersect(Target, Range("A1:B2")) If Not ISCT Is Nothing Then target="*"+ target.value +"*" End If End Sub
bonjour
tu peux utiliser la methode intersect
Code:
1
2
3
4
5
6
7
8
9
10 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rg As Range Dim inter As Range Set rg = Range("D7,E12,G10,F6,F14,E17,G19,I15,J22,I26,J17,J8,H5,G3,B5,B14,C27,C22,A19,D18") Set inter = Intersect(Target, rg) If Not inter Is Nothing Then MsgBox "ok" End If End Sub
J'ai pris la solution de mayekeul et bizarrement j'obtiens un très grand nombre d'étoiles au lieu de seulement deux.
D'où cela peut-il venir ?
Chaque fois que tu ajoutes tes * tu relance l'évènement change.
Essaye comme ça:
Code:
1
2
3
4
5
6 If Not ISCT Is Nothing Then If Left(Target.Value, 1) <> "*" Then Target.Value = "*" & Target.Value & "*" End If End If
Merci ça fonctionne. :king:
Maintenant plus loin je fais une recherchev de cette valeur.
Puis-je faire la recherche sans les étoiles autour :aie: ?Citation:
=RECHERCHEV(A12;matrice_donnees;3)
Je sais c'est tordu >.<
A ma connaissance non
*toto* ne sera jamais égal à toto ;)
Par contre si quelqu'un à une soluce, je suis interressé
et la raison en est?Citation:
Puis-je faire la recherche sans les étoiles autour ?
En fait que je rajoute avec le truc précédent est utile pour imprimer un code-barres. Mais la recherchev cherche ce code dans une table où il n'y a pas d'étoiles :x
Donc d'un coté je rajoute les étoiles pour l'impression, d'un autre coté je les vire (seulement dans la formule pour la recherche, pas dans la cellule) pour rechercher le code dans une table matrice et ramener les autres données.
bien quand tu lui donne le critere de recherche tu rajoute les astérisque alors
comme ça
Code:=recherchev("*"&F12&"*";B14:C26;1;false)
Justement c'est l'inverse que je veux faire. A1 contient des étoiles. Je veux rechercher A1 sans les étoiles.
:aie:
Alors tu peux essayer ca si tu cherche du texte
ou ca si tucherche des nombresCode:=RECHERCHEV(STXT(A12;2;(NBCAR(A12)-2));matrice_donnees;3)
Code:=RECHERCHEV(CNUM(STXT(A12;2;(NBCAR(A12)-2)));matrice_donnees;3)
Le premier fonctionne sans problème, le second me donne un #VALEUR!
edit : c'est bon le premier me suffit, c'est impeccable. Merci ;)
N'utilise le second que si tu recherche des nombres dans ta matrice.
Pour une recherche de texte il faut utiliser le premier