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
    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. 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. merci pour ta réponse cela fonctionne parfaitement,
                  Bonne journée
                  0