[VBA] Test sur 2 cellules au moment de la modification [résolu]

darkneo

XLDnaute Nouveau
Bonjour,

j'ai une base de formulaire simple et les champs sur lesquels je voudrais effectuer un test sont ceux correspondant à l'adresse.

Lorsque le type de voie et le nom de voie sont renseignés, je veux vérifier si le couple [type voie;nom voie] existe dans la base de données qui est dans la feuille "Voies", sachant que je dois également récupérer le code de la Voie dans la feuille "Type Voie utile".

Mon principal problème est l'instruction qui me permettrait de lancer le test au moment de la saisie du nom de voie.

Code:
[Au moment où D7 et E7 sont remplis]
Dim typeVoie As String, nomVoie As String, Dim test As Boolean
typeVoie = cells(7,4).Value
nomVoie = cells(7,5).Value
test = False

Sheets("Type Voie utile").Select
For i = 2 to 30
  If typeVoie = cells(i,2).value Then
    typeVoie = cells(i,2).value
    Exit For
  End If
Next

Sheets("Voies utile").Select
lastRow = Range("B65536").End(xlup).row 'Derniere ligne remplie
For i = 2 to lastRow
  If nomVoie = cells(i,1).value And typeVoie = cells(i,5).Value Then
    test = True
    Exit For
  End If
Next

if test = False Then
  MsgBox("L'adresse n'existe pas")
End If
 

Fichiers joints

Dernière édition:

BrunoM45

XLDnaute Barbatruc
Re : [VBA] Test sur 2 cellules au moment de la modification

Bonjour Darkneo

Mon principal problème est l'instruction qui me permettrait de lancer le test au moment de la saisie du nom de voie.
Cela s'appelle un évènement et tu as la possibilité de le coder dans la feuille elle même

Code:
Private Sub Worksheet_Change(ByVal Target As Range)[/cocde]
Tu as d'ailleurs un code dans cette partie

A+
 

darkneo

XLDnaute Nouveau
Re : [VBA] Test sur 2 cellules au moment de la modification

Merci, je pensais qu'il fallait une instruction comme celle de la première macro, je n'avais pas compris que le Worksheet_Change s'exécutait à chaque changement (ce qui est assez bête effectivement..)


En revanche je me retrouve confronté à un autre problème :
la macro que j'écris fonctionne quand elle est exécutée via le bouton macro, mais pas lorsqu'elle est exécutée dans Worksheet_Change.
 

Fichiers joints

darkneo

XLDnaute Nouveau
Re : [VBA] Test sur 2 cellules au moment de la modification

Problème résolu, j'ai fait un appel à ma fonction dans le Worksheet_Change.

Merci encore pour l'aide apportée.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas