|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Problème pour établir une boucle.
J'ai une feuille excel contenant un livre-journal comptable d'une association... j'aimerais que quand il y a le mot "Cotisation" en cellule C# il me renvoie la valeur de la cellule qui se trouve en colonne D (même ligne). Mais le mot "Cotisation" qui se trouve dans ladite cellule peut être accompagné d'une description genre "Cotisation Untel" (la cellule peut donc comporter plus que ce mot). J'aimerais aussi nommer le nom de la feuille Worksheets(3) qui est "c-c". Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Bonsoir Papajn,
Tout d'abord, bienvenu sur le Forum. Un conseil. Utilise les balises de code pour citer un développement VBA. L'exposé n'en sera que plus clair. Pour ton information, la méthode "Find" renvoie un objet Range. Elle ne retourne donc ni False ni True. Afin de tester la présence d'une chaîne de caractères, tu peux utiliser la propriété "Instr", soit par exemple (code à adapter) : Code :
Reviens si nécessaire.
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
Soit tu utilises la méthode FIND soit tu utilises la fonction Instr Code :
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
||
|
|
00
|
|
|
#4 | |||||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Citation:
J'ai donc écrit: Code :
Par ailleurs comment nommer la feuille par son nom "c-c"? Ne fonctionne pas... cela bloque sur UCase(Cell)... |
|||||
|
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Bonsoir Corona,
Citation:
Cela me semble plus compliqué alors. Au demeurant, voici une prposition : Code :
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
|||
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Essayé aussi cela:
Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Papajn,
Remplace par c est ici un objet Range.
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
J'ai trouvé:
Code :
|
||
|
|
00
|
|
|
#9 | |||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonsoir,
Citation:
Si tu es absolument certain que tout est écrit correctement, tu peux enlever le UCASE Code :
If InStr(Cell, "Cotisation") Then MsgBox (Cell.Offset(0, 1).Value)
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|||
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Citation:
Merci également de m'avoir répondu. J'arrête ma contribution. Pas...
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
|
|
|
00
|
|
|
#11 | |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Citation:
Je ne parlais pas de la fonction Find d'excel mais la méthode FIND de VBA (l'équivalent de la recherche Ctrl+F)
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Merci Corona et MarcelG,
J'ai essayé la méthode avec InStr, en enlevant le Ucase, mais sans succès. Comment donc faire cette recherche sur plusieurs feuilles et ce en les nommant? |
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() Hervé Agent Technique Inscription : mars 2009 Messages : 823 ![]() |
Bonjour,
Pour faire une recherche sur tes trois feuilles, en complément des codes de corona et de MarceG que je salue: Code :
__________________
@+Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.Ou sur si ce n'est pas le cas |
||
|
|
10
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Excellent!!!
Code final: Code :
|
||
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonsoir Hervé,
Attention que si on utilise la fonction UCASE, il faut chercher aussi le mot en majuscule. Code :
If InStr(UCase(cell), "COTISATION") Then MsgBox (cell.Offset(0, 1).Value)
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Hervé Agent Technique Inscription : mars 2009 Messages : 823 ![]() |
Très juste je l'ai remarqué après, j'ai edité mon post précédent.
Merci pour ta remarque.
__________________
@+Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.Ou sur si ce n'est pas le cas |
|
|
00
|
|
|
#17 | |||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonsoir,
Citation:
Citation:
Et la raison de l'utilisation de UCASE, c'est que je me suis dit qu'avec plus qu'un mot dans une cellule, il y avait un risque d'avoir par exemple Untel, cotisation ou la cotisation d'untel ou encore et cela arrive cotisation Untel. On est jamais trop prudent, ce type de problème arrive fréquemment mais bon, si tu sûr de de ce qui est encodé, pas de problème. Citation:
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com