XL 2013 impossible d'ecrire cette equation

Patrickblancseau

XLDnaute Nouveau
Bonjour le but est de trouver sur quelle année nous nous situons
voila ma serie exemple nous sommes en A1 et en 2024 pareil
'A1 = 2020 -->2024
'A2 = 2021 -->2025
'A3 = 2022 -->2026
'A4 = 2023 -->2027

le résultat final devrait me dire en 2021 nous sommes en A2

impossible de creer ce case

'Select Case ValeurAVerifier
' Case A1=année en cours
' '2020
' Case A2=année en cours+1
' '2021
' Case A3=année en cours+1
' '2022
' Case A4=année en cours+1
' '2024
Case Else
'impossible

quelqu'un a une idée




End Select
 

soan

XLDnaute Barbatruc
Inactif
Bonjour aux 2 Patrick(s),

Peut-être que ça marchera mieux si le « End Select » est placé
avant le texte « quelqu'un a une idée » ? non, je plaisante,
lis la suite de ce post.

---------------------------------------------------------------------------

Je propose le fichier ci-dessous.

fais Ctrl e ➯ affichage du message attendu
VB:
Sub Essai()
  Dim cel As Range, An%
  An = 2021 'valeur à vérifier (essaye ensuite avec 2028)
  Set cel = Columns(1).Find(An, , -4163, 2, 1)
  If Not cel Is Nothing Then
    MsgBox "Pour " & An & ", nous sommes en A" & cel.Row & "."
  Else
    MsgBox "Année " & An & " non trouvée."
  End If
End Sub
Si c'est OK, merci de cliquer sur « Marquer comme solution ». ;)
Sinon, tu peux demander une adaptation.

---------------------------------------------------------------------------

Dans le post #4, job75 te propose une solution avec formule,
que j'ai complétée dans mon post #5.

Sauf s'il te faut absolument utiliser VBA, je te recommande
de prendre la solution avec formule.

---------------------------------------------------------------------------

@patricktoulon : et la marmotte, elle mange le papier d'alu ? :D

(c'est comme ça, avec les formules publicitaires : ça finit par
rentrer dans l'inconscient collectif ! ;))


soan
 

Pièces jointes

  • Exo Patrick.xlsm
    13.7 KB · Affichages: 8
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour,

S'il s'agit simplement de faire une recherche dans une liste voyez cette formule en F1 :
Code:
=ADRESSE(EQUIV("*"&D1&"*";A:A;0);1;4)
l'année recherchée étant en D1.

A+
 

Pièces jointes

  • Rechercher(1).xlsx
    9.8 KB · Affichages: 4

soan

XLDnaute Barbatruc
Inactif
Bonjour job75, le fil,

Ta formule avec ADRESSE() et EQUIV() est très bien ! :)

Je l'ai complétée avec du texte, selon que l'année est trouvée ou non,
et pour ce 2ème cas, SIERREUR() évite le message d'erreur #N/A.
Code:
=SIERREUR("Pour " & D1 & ", nous sommes en " & ADRESSE(EQUIV("*"&D1&"*";A:A;0);1;4) & ".";"Année " & D1 & " non trouvée.")
Comme l'énoncé de Patrick contient du code VBA, peut-être qu'il tient absolument à une macro ?
si oui, il pourra regarder le code VBA que je lui ai proposé, mais c'est vrai qu'une formule suffit.


soan
 

Discussions similaires

Statistiques des forums

Discussions
312 182
Messages
2 086 001
Membres
103 084
dernier inscrit
Hervé30120