Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lister dans un commentaire

17 réponses
Avatar
Apitos
Bonsoir =E0 tous,

Dans mon exemple, je saisi dans la colonne A, du texte sous forme de :

xx-zz-yy; ou yy est toujours repr=E9sent=E9 par un nombre qui compte le
changement des valeurs en colonne C.

Par exemple :

Si dans la colonne C on a 50, dans la colonne A je saisirais : xx-zz-1

S'il y'a une autre valeur que 50, pour la m=EAme cha=EEne zz, j'=E9cris dans=

A : xx-zz-2

Dans feuil2, il y'a une r=E9capitulation de ce qui est saisie pour la
m=EAme cha=EEne (zz ici).

Parfois, en bas de la page, avant de saisir mon texte, j'aimerais
savoir si la valeur 52 existe d=E9j=E0 pour la cha=EEne zz, alors en
saisissant deux fois de suite le tiret (--) comme =E7a en de texte :

xx-zz--

Une fen=EAtre (comme celle des commentaires) viendra s'ouvrir pour me
lister toutes les lignes d=E9j=E0 r=E9capitul=E9es dans la feuil2 pour la
cha=EEne zz.

Un exemple joint :

http://cjoint.com/?mtti4iwLvV

Merci d'avance.

10 réponses

1 2
Avatar
FFO
Salut Apitos

Mets ce bout de code dans le VBA de la Feuil1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*--" Then
Do While Sheets("Feuil2").Range("A2").Offset(i, 0).Row <
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0).Row
If Sheets("Feuil2").Range("A2").Offset(i, 0) Like Mid(Target, 1, Len(Target)
- 2) & "*" Then
Donnée = Donnée & Sheets("Feuil2").Range("A2").Offset(i, 0) & vbLf
End If
i = i + 1
Loop
MsgBox (Donnée)
End If
End If
End Sub

Résultat dans une boîte de dialogue

Celà devrait te convenir

Dis moi !!!!



Bonsoir à tous,

Dans mon exemple, je saisi dans la colonne A, du texte sous forme de :

xx-zz-yy; ou yy est toujours représenté par un nombre qui compte le
changement des valeurs en colonne C.

Par exemple :

Si dans la colonne C on a 50, dans la colonne A je saisirais : xx-zz-1

S'il y'a une autre valeur que 50, pour la même chaîne zz, j'écris dans
A : xx-zz-2

Dans feuil2, il y'a une récapitulation de ce qui est saisie pour la
même chaîne (zz ici).

Parfois, en bas de la page, avant de saisir mon texte, j'aimerais
savoir si la valeur 52 existe déjà pour la chaîne zz, alors en
saisissant deux fois de suite le tiret (--) comme ça en de texte :

xx-zz--

Une fenêtre (comme celle des commentaires) viendra s'ouvrir pour me
lister toutes les lignes déjà récapitulées dans la feuil2 pour la
chaîne zz.

Un exemple joint :

http://cjoint.com/?mtti4iwLvV

Merci d'avance.



Avatar
Apitos
Bonsoir FFO,

Merci pour ton code.

Mais comment eviter qu'il ne soit pas sensible à la casse ?

Bon, entre temps j'ai essayé de bricoler quelques lignes pour avoir
mes données listées dans une fenetre.

Mais j'aimerais que quelqu'un apporte quelques correction au code.

http://cjoint.com/?mun0yQPIPj

Merci.
Avatar
FFO
Rebonjours à toi

Pour s'affranchir de la casse ce code dans le VBA de la Feuil1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*--" Then
Do While Sheets("Feuil2").Range("A2").Offset(i, 0).Row <
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0).Row
If UCase(Sheets("Feuil2").Range("A2").Offset(i, 0)) Like UCase(Mid(Target,
1, Len(Target) - 2)) & "*" Then
Donnée = Donnée & Sheets("Feuil2").Range("A2").Offset(i, 0) & vbLf
End If
i = i + 1
Loop
MsgBox (Donnée)
End If
End If
End Sub

Celà devrait convenir

Dis moi !!!!


Bonsoir FFO,

Merci pour ton code.

Mais comment eviter qu'il ne soit pas sensible à la casse ?

Bon, entre temps j'ai essayé de bricoler quelques lignes pour avoir
mes données listées dans une fenetre.

Mais j'aimerais que quelqu'un apporte quelques correction au code.

http://cjoint.com/?mun0yQPIPj

Merci.



Avatar
Apitos
Bonsoir FFO,

Oui je crois que UCase fera l'affaire. Merci.

Je vais l'essayé.

Et pour mon fichier joint, quelqu'un l'a pu voir ?

Merci d'avance.
Avatar
FFO
Rebonjour à toi

A cette adresse ton fichier modifié

http://www.cijoint.fr/cij1067413235416.xls

J'attire ton attention sur plusieurs constatation :

Utiliser l'instruction :

[B:B].Find(What:=ch, LookIn:=xlWhole).Activate

Avec la variable "ch" qui doit être une partie de la cellule que représente
l'instruction "Target" encore faut il que cette partie soit identifiable pour
être recherchée
Etant partie intégrante d'un ensemble dont la longueur est fluctuante ainsi
que sa propre longueur il est trés difficile voir impossible de définir une
procédure pour la cerner de manière précise et fiable

Je me suis donc orienté sur ma manière de procéder tel que je te l'ai
proposé dans ma solution en l'intégrant dans ton code avec l'instruction :

If UCase(Target) Like "*" & UCase(Cel) & "*" Then


Si tu te bases sur les données de la colonne B feuil2 pour récupérer les
éléments recherchés fait en sorte que ces données les ciblent correctement

Tu recherches :

Bi-Bio-1 --> 50
Bi-Bio-2 --> 48
Bi-Bio-3 --> 52

en t'appuyant sur leur donnée commune colonne B Feuil2 :

Bio

Mais là où le bas blesse c'est que l'élément :

Mbio-Bio-1

possède cette même donnée colonne B Feuil2

Donc ramené lui aussi dans le résultat final

Dernière remarque :

Attention colonne B Feuil2 à ne pas laisser trainer des blancs en fin de
chaque cellule préjudiciable au bon fonctionnement de l'ensemble

Espérant avoir répondu à tes attentes

Dis moi !!!!



Bonsoir FFO,

Oui je crois que UCase fera l'affaire. Merci.

Je vais l'essayé.

Et pour mon fichier joint, quelqu'un l'a pu voir ?

Merci d'avance.




Avatar
Apitos
Bonsoir FFO,

Pour un premier test :

Quand je fini ma saie par un double tiret "--" la fenetre n'apparait
pas !!!!

je ne sais pas pourquoi ?

Pour le mot entre tiret -*- (ici Bio), oui j'aimerais que la liste
resultante dans la fenetre, contiendra tout les mots contenant ce mot
dans la deuxieme feuille :

Bi-Bio-1 --> 50
Bi-Bio-2 --> 48
Bi-Bio-3 --> 52
Mbio-Bio-1 --> 7

Merci.

Salutations.
Avatar
FFO
Rebonjour à toi

Je viens chez moi de rapatrier le ficher appartenant au lien :

http://www.cijoint.fr/cij1067413235416.xls

De réaliser Feuil1 une saisie avec en bout 2 tirets ainsi

Bio-Bio--

Et j'ai bien la fenètre ainsi :

Bi-Bio-1 -->50
Bi-Bio-2 -->48
Bi-Bio-3 -->52
Mbio-Bio-1 -->7

As tu bien saisie dans la bonne Feuille (Feuil1) colonne A ????

Si on as le même Excel ce que je crois on doit faire les même constatations

Vérifies bien celà doit fonctionner

Dis moi !!!



Bonsoir FFO,

Pour un premier test :

Quand je fini ma saie par un double tiret "--" la fenetre n'apparait
pas !!!!

je ne sais pas pourquoi ?

Pour le mot entre tiret -*- (ici Bio), oui j'aimerais que la liste
resultante dans la fenetre, contiendra tout les mots contenant ce mot
dans la deuxieme feuille :

Bi-Bio-1 --> 50
Bi-Bio-2 --> 48
Bi-Bio-3 --> 52
Mbio-Bio-1 --> 7

Merci.

Salutations.







Avatar
Apitos
Bonsoir FFO,

J'ai refais l'essai et ça marche.

Mais j'ai encore besoin de quelques lignes pour corriger mon code :

Parfois, j'ai une superposition de deux ou plus de fenêtres.

- Comment puis-je vérifier toute existante d'une fenêtre nommée
"Commentaire" et la faire supprimer avant d'en créer une autre ?
- Pour le teste de ce qui entre les tirets : Comment puis-je
approfondir la comparaison pour ne trouver que le texte saisi entre
les tirets et éviter toute ressemblance (Ce qui m'a ramené à utiliser
la fonction extraction(c) et qui elle même à besoin de quelques
correction) ?

Merci.
Avatar
Apitos
Re,

Pour la superposition des fenêtres, vous pouvez remarquez dans les
cellule B8 et B10 de Feuil1, deux fenêtres sous forme de points
(Listes vides).
Avatar
Apitos
Bonjour,

J'ai codé ce fichier :

http://cjoint.com/?mxk3gBCyN0

Voulant organiser mon travail, j'ai tout englober dans une procedure
affichagefen() et puis la faire appelée depuis le WorsheetChange.

Mais il y'a encore des erreurs et peut être des lignes inutiles !

Merci à tous.
1 2