VBA - comparaison entre plusieurs valeurs

Bonjour,

Je suis totalement novice en VBA, j'ai commencé hier à m'y intéresser dans le but de réaliser une macro pour excel.

Mon but serait d'entrer un jour dans une "imputbox" et cette entrée devra faire en sorte de masquer les colonnes et lignes qui ne se reportent pas à la-dite date.

J'ai bricolé ce code, mais cela me contraint de rentrer toute les dates de mon tableau avec "Or" (c'est pas l'idéal mais mes recherches sur le net n'aboutisse pas à une solution viable, c'est pourquoi que je me tourne vers vous)

Sub Tableau_Jour()

Dim resultat As Byte

resultat = InputBox("Jour")

If resultat = Range("H27").Value Or Range("I27").Value Then

Dim i As Byte

For i = 5 To 26

If i <> resultat + 4 Then Cells(26, i).EntireColumn.Hidden = True

Next i

End If

Dim j As Byte

k = resultat + 4

For j = 29 To 35

If IsEmpty(Cells(j, k)) Then Cells(j, k).EntireRow.Hidden = True

Next j

End Sub

Dans ce code, cela ne fonctionne que avec "4" ou "5" car j'ai rentré à la main les cibles de 4 et 5.

J'aimerai qu'il teste tous les jours pour identifier le jour rentré dans l'inbox...

J'espère que je m'exprime correctement et que cela est suffisamment clair...

Si quelqu'un peut m'aider ce serait super sympa.

Merci et à bientôt.

Davy

Bonjour,

Tu peux commencer avec cet exemple

22tableauv1.zip (17.56 Ko)

A+

Bonjour Frangy,

Je vous remercie pour votre réponse qui est très adapté à ce que je fais!

Néanmoins à la lecture, j'ai rien compris

En continuant mes recherches, j'ai réussi avec "select.case"

ça m'a donné :

Dim resultat As Byte

Dim f As Byte

resultat = InputBox("Jour")

For f = 5 To 31

Select Case Cells(27, f)

Case Is <> "resultat"

End Select

Next f

Dim i As Byte

For i = 5 To 26

If i <> resultat + 4 Then Cells(26, i).EntireColumn.Hidden = True

Next i

Dim j As Byte

k = resultat + 4

For j = 29 To 35

If IsEmpty(Cells(j, k)) Then Cells(j, k).EntireRow.Hidden = True

Next j

Je planche actuellement sur une version en entrant la date (genre "07/01/2013") mais je me heurte au problème que mon "resultat" était un nombre et maintenant c'est une date....

Si vous avez des pistes sur lesquels je peux chercher.

Je vous remercie du temps que vous me consacrez!

Je vous remercie pour votre réponse qui est très adapté à ce que je fais!

Néanmoins à la lecture, j'ai rien compris

En continuant mes recherches, j'ai réussi avec "select.case"

mdr ! moi, je n'ai pas compris si tu souhaitais comprendre ou pas

Dans le doute, je joints à mon laïus un classeur qui prend en compte ta demande, à savoir la recherche des dates de la ligne 26.

La variable resultat est déclarée de type date.

J'ai inclus quelques commentaires dans le code.

20tableauv1.zip (17.59 Ko)

A+

Merci Frangy

C'est super sympa! Effectivement autant en apprendre pour ma culture et puis si un jour je peux m'en resservir...

Bonne continuation.

Rechercher des sujets similaires à "vba comparaison entre valeurs"