Comparer des cellules avec un variables

Bonjour,

je fais une macro, j'ai besoin de demander le jour a la personne mettre la réponse dans une variable et ensuite comparer la valeur de la variable avec une plage de cellule, et quand la valeur est =, alors sélectionner la cellule de la même ligne mais la colonne juste a droite

8 réponses

  1. Contributeur
    rectifie le code par
    Dim Rep As Integer, Lig As Integer, Col As Integer
        Rep = InputBox("quel est le jour du mois de la caisse")
        If Rep = 0 Then Exit Sub 'Si annuler
        Lig = 6: Col = 1
        Do While Rep <> Cells(Lig, Col).Value
            If Cells(Lig, Col) = "" Then
                MsgBox "Référence introuvable"
                Exit Sub
            End If
            Lig = Lig + 1
        Loop
        'ici la référence à rep à été touvée sur la ligne Lig

    Mais il n'est pas nécessaire de faire tout ça.
    Dim Rep As Integer, Lig As Integer
        Rep = InputBox("quel est le jour du mois de la caisse")
        If Rep = 0 Then Exit Sub 'Si annuler
        Lig = Rep + 5

    Aurra le même résultat et plus rapide.
    A+

    1
    1. Contributeur
      Bonjour,
      Montre-nous le code de ta macro.
      A+
      0
      1. Sheets("Cash-Paid out-Service").Select

        rep = InputBox("quel est le jour du mois de la caisse", vbYes)

        'Do Until rep = Cells(li, co).Value

        'If rep = Cells(li, co).Value Then
        'Exit Do

        'End If

        'Loop

        li = 6
        co = 2

        Cells(li, co).Select
        ActiveCell.FormulaR1C1 = InputBox("entrer le montant cash figurant sur la balance", vbYes)
        co = co + 1

        Cells(li, co).Select
        ActiveCell.FormulaR1C1 = InputBox("entrer le montant paid out figurant sur la balance", vbYes)
        0
        1. Contributeur
          Déjà pour tes première lignes.. tu n'icrémebnte pas ta variable Li donc la macro bloque. Essaye avec,
          Dim Rep
              Rep = InputBox("quel est le jour du mois de la caisse")
              If Rep = "" Then Exit Sub 'Si annuler
              Do While Rep <> Cells(li, co).Value
                  If Cells(li, co) = "" Then
                      MsgBox "Référence introuvable"
                      Exit Sub
                  End If
                  li = li + 1
              Loop
          
              'ici la référence à rep à été touvée sur la ligne Li

          0
          1. merci pour ta solution, j'ai éssayé ton code le problème est qu'il ne trouve rien quand je tape un chiffre dans rep (par exemple 5) il continu la boucle et ne s'arrete seulement quand la cellule est vide. je cherche mais je ne trouve pas encore le bon code
            0
            1. Contributeur
              Dans quel colonne se trouve les jours ? (1, 2, 3, ...)
              Et a partir de quel ligne ? (le 1)
              0
              1. dans la première colonne se trouve les jours
                a partir de la 6ème ligne
                0
                1. merci pour ta réponse cela fonctionne parfaitement,
                  Bonne journée
                  0