Test logique excel en VB
David
-
David -
David -
Bonjour,
J'ai un problème sur excel. Je dois généraliser un test vlookup (ou recherchev) à un ensemble de colonne. Je m'explique: là où vlookup teste une case sur une plage de cases, il faut que je teste 7 cases sur une plage de 7 cases.
dans une cellule je dois mettre vraie ou faux si les 7 cellules consécutives (A1:G1) sont semblables ou pas aux 7 cellules d'une autre feuille (Ai:Gi) i allant de 1 à 200 et refaire le test pour les 7 cellules de la feuille 1 (A2:G2).
Je pense qu'il faut faire plusieurs boucles en VB... Mais n'étant pas un méloman en programmation...
Merci pour vos réponses.
David
J'ai un problème sur excel. Je dois généraliser un test vlookup (ou recherchev) à un ensemble de colonne. Je m'explique: là où vlookup teste une case sur une plage de cases, il faut que je teste 7 cases sur une plage de 7 cases.
dans une cellule je dois mettre vraie ou faux si les 7 cellules consécutives (A1:G1) sont semblables ou pas aux 7 cellules d'une autre feuille (Ai:Gi) i allant de 1 à 200 et refaire le test pour les 7 cellules de la feuille 1 (A2:G2).
Je pense qu'il faut faire plusieurs boucles en VB... Mais n'étant pas un méloman en programmation...
Merci pour vos réponses.
David
A voir également:
- Test logique excel en VB
- Test performance pc - Guide
- Liste déroulante excel - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Word et excel gratuit - Guide
2 réponses
bonjour
Il te suffit de faire une petite fonction personnalisée comme ceci à mettre dans un module
Pour l'utiliser, dans une cellule je dois mettre vraie ou faux tu mets cette formule par exemple pour comparer A2:G2 sur 2 feuilles
Ta plage n'est pas limitée en taille mais les 2 matrices doivent avoir le même nombre de cellules.
Il te suffit de faire une petite fonction personnalisée comme ceci à mettre dans un module
Public Function egal_plage(matrice1 As Range, matrice2 As Range) As Boolean
Dim pos As Integer
If matrice1.Count <> matrice2.Count Then
egal_plage = "#valeur"
Else
egal_plage = True
End If
For pos = 1 To matrice1.Count
If matrice1(pos).Value <> matrice2(pos).Value Then
egal_plage = False
Exit Function
End If
Next pos
End Function
Pour l'utiliser, dans une cellule je dois mettre vraie ou faux tu mets cette formule par exemple pour comparer A2:G2 sur 2 feuilles
=egal_plage(A2:G2;Feuil1!A2:G2)
Ta plage n'est pas limitée en taille mais les 2 matrices doivent avoir le même nombre de cellules.