Comparer deux tableaux de booléens
Le
Archampi

Est-il possible de comparer deux tableaux de booléens sans comparer chacu=
n de leurs éléments.
Au lieu de faire ceci:
For i = 1 to Ubound(TableauRésultat)
TableauRésultat(i) = Tableau1(i) And Tableau2(i)
Next i
Faire ceci: (mais la syntaxe ne fonctionne pas!)
TableauRésultat() = Tableau1() And Tableau2()
Merci de vos lumières
n de leurs éléments.
Au lieu de faire ceci:
For i = 1 to Ubound(TableauRésultat)
TableauRésultat(i) = Tableau1(i) And Tableau2(i)
Next i
Faire ceci: (mais la syntaxe ne fonctionne pas!)
TableauRésultat() = Tableau1() And Tableau2()
Merci de vos lumières
Dire que quelquechose soit impossible est hasardeux car dans bien des cas
vient un jour où cela s'avère réalisable.
En l'état deux tableaux booléeens si une seule valeur diffère ne sont plus
identiques , ce qui d'emblée impliquerait cette comparaison par valeur.
Toutefois tu pourrais peut être concatener chacun des deux ensembles pour
comparer deux longues chaines.
Cordialement.
--
LSteph
"Archampi" news:
Est-il possible de comparer deux tableaux de booléens sans comparer chacun
de leurs éléments.
Au lieu de faire ceci:
For i = 1 to Ubound(TableauRésultat)
TableauRésultat(i) = Tableau1(i) And Tableau2(i)
Next i
Faire ceci: (mais la syntaxe ne fonctionne pas!)
TableauRésultat() = Tableau1() And Tableau2()
Merci de vos lumières
je ne voie pas d'autre possibilité que de passer par une feuille de calcul.
Sub test()
Dim t1(3)
Dim t2(3)
Application.ScreenUpdating = False
t1(1) = True
t1(2) = True
t1(3) = True
t2(1) = False
t2(2) = True
t2(3) = True
Sheets.Add
Range("A1").Resize(UBound(t1, 1) + 1, 1) = Application.Transpose(t1)
Range("B1").Resize(UBound(t2, 1) + 1, 1) = Application.Transpose(t2)
tt1 = Range("A1").Resize(UBound(t1, 1) + 1, 1).Address
tt2 = Range("B1").Resize(UBound(t2, 1) + 1, 1).Address
MsgBox Evaluate("SUMPRODUCT((" & tt1 & ")*(" & tt2 & "))")
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
--
isabelle
Le 2012-03-20 18:38, Archampi a écrit :