Construction d'un Boucle

Bonjour,

Je suis novice en Vba et j'ai un problème au niveau de la constitution d'une boucle.

Je m'explique :

Mon 1er objectif était de comparer deux colonnes et d'afficher une fenêtre lorsque mon chiffre de la colonne O était plus élevé que celui de la colonne N, et ça c'est fait !!

Codage qui suit :

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Mon deuxième objectif, et c'est là où je bute clairement depuis plusieurs heures et de répéter cette action, pour qu'elle s'applique non seulement sur la ligne 17, mais aussi sur toutes les autres lignes de mon fichier, c'est-à-dire jusqu'à la ligne 194.

Je dois utiliser certainement une boucle, mais je ne sais pas faire.

Quelqu'un pourrait-il m'aider ?

Merci beaucoup de votre aide

Bonjour,

une solution (macro distincte)

Sub aaargh()
    With Sheets("feuil1")
        For i = 2 To 194
            If .Range("N" & i).Value < .Range("O" & i).Value Then
                MsgBox "ATTENTION DEPASSEMENT BUDGET en ligne " & i
            End If
        Next i
    End With
End Sub

Merci beaucoup h2so4 pour ce retour rapide.

J'ai essayé ta solution, en pensant qu'elle allait me sortir de la panade, mais aucun effet sur mon fichier


Excel me dit : Erreur d'execution 9 - l'indice n'appartient pas à la sélection

Bonjour filipe_f, bonjour le forum, bonjour h2so4,

A tester:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range
Dim i As Integer
For i = 2 To 194
Set KeyCells = Range("O:N")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
If Range("N" & i).Value < Range("O" & i).Value Then
MsgBox "ATTENTION DEPASSEMENT BUDGET"

End If
End If
Next i

End Sub

Cordialement,

filipe_f a écrit :

Merci beaucoup h2so4 pour ce retour rapide.

J'ai essayé ta solution, en pensant qu'elle allait me sortir de la panade, mais aucun effet sur mon fichier


Excel me dit : Erreur d'execution 9 - l'indice n'appartient pas à la sélection

Bonjour,

adapte le nom de la feuille dans l'instruction

with sheets("feuil1")

Bonjour xorsankukai,

Merci également pour ta solidarité et de m'accorder un peu de ton temps.

J'ai essayé ton codage et j'ai le message suivant :

Erreur de compilation

Nom ambigu détecté : Worksheet_Change

Décidément, je ne vais jamais y arriver:(


C'est ce que j'ai fait H2so4, mais je t'assure, aucun effet sur mon fichier

Je n'ai malheureusement pas les compétences de h2so4, je me suis contenté de rajouter une boucle à ton code,

Désolé

Merci quand même xorsankukai, c'est gentil de ta part.

filipe_f a écrit :

C'est ce que j'ai fait H2so4, mais je t'assure, aucun effet sur mon fichier

Pourtant ce message indique qu'il ne trouve pas la feuille dont tu as mis le nom entre les " dans l'instruction

with sheets("feuil1")

sinon mets-nous ton fichier

Je confirme, le code de h2so4 fonctionne nickel ! cerise sur le gâteau, il indique les lignes concernées ,

A bientôt,

Voici mon fichier les gars !

re-bonjour,

essaie avec

with sheets("Analyse")

Il ne veut toujours pas Grrrrr

Re,

Ton fichier modifié:

  • ton code dans Feuille3("Analyse")
  • la macro de h2so4 dans module 1

Hélas, dans les 2 cas ne fonctionne que partiellement il subsiste une erreur en fin de procédure :

erreur exécution '13'

Incompatibilité de type

Je ne trouve pas la solution, mais nul doute qu'un pro du forum saura te mettre sur la voie

ps: On compare bien de N6 à O194?

re-bonjour,

tu as des erreurs dans ta feuille. c'est la raison pour laquelle la macro se plante (ex N158).

voici une correction qui ne tient pas compte des erreurs

Sub aaargh()
    With Sheets("analyse")
        For i = 2 To 194
            If Not IsError(.Range("N" & i)) Then
                If .Range("N" & i).Value < .Range("O" & i).Value Then
                    MsgBox "ATTENTION DEPASSEMENT BUDGET en ligne " & i
                End If
            End If
        Next i
    End With
End Sub

Re-bonjour,

Merci h2so4 pour le correctif, effectivement, c'est nettement mieux ,

Bon week-end !

Bonsoir h2so4, Bonsoir xorsankukai ,

Je tenais à vous remercier chaleureuseument, cela fonctionne parfaitement.

C'est top

Rechercher des sujets similaires à "construction boucle"