Comparer des cellules avec un variables

benoit -  
 benoit -
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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Montre-nous le code de ta macro.
    A+
    0
  3. benoit
     
    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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. benoit
     
    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
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Dans quel colonne se trouve les jours ? (1, 2, 3, ...)
    Et a partir de quel ligne ? (le 1)
    0
  8. benoit
     
    dans la première colonne se trouve les jours
    a partir de la 6ème ligne
    0
  9. benoit
     
    merci pour ta réponse cela fonctionne parfaitement,
    Bonne journée
    0