VBA problème boucle

Bonjour,

J'ai un problème dans la boucle suivante:

For Each cell In Sheets(onglet).Range("A1:A100")
If cell = maDonnee Then
reponse = MsgBox(" resultat =" & cell.Offset(-1, 1) & " ,Voulez-vous continuer?", vbOKCancel, "Validation")

k = cell.Row - 1

ref = "B" & k
Sheets(onglet).Range(ref).Select
Selection.ShowDetail = True
Sheets(onglet).Select
Sheets(onglet).Range("C" & k).Select
Selection.ShowDetail = True

Trouve = true
end if
next
Le blocage ce fait a ce niveau:
Sheets(onglet).Range(ref).Select
Merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,
    Ben apparement, je n'ai pas testé, le problème viendrait de la 1ère ligne :
    supposons que cell = A1
    k = cell.Row - 1 donc k = 0

    ref = "B" & k donc ref = B0 (B zéro)
    Sheets(onglet).Range(ref).Select impossible de sélectionner la cellule B0...
    1. Contributeur
      Bonjour, bonjour pijaku
      Et le même problème est aussi vrai pour ton MsgBox... cell.Offset(-1, 1)
      Suivant le code que tu met je pense qu'il serait plus adéquat et plus simple de travailler avec une boucle For.
      A+
      1. Bonjour,

        En fait le résultat ne peut pas être A1 puisque le format du fichier sur lequel je travail est pratiquement le même. En fait avec cette boucle ce que je voulais faire c'est de chercher toutes les cases "total général" qui se trouvent sur la collone A, et après prendre la cellule qui est au dessus à droite ensuite de double cliquer pour afficher le détail de cette cellule. Le problème c'est qu'il effectue la recherche avec succés mais il bloque au moment de double cliquer (afficher le détail).

        Merci