Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Correspondances

1 réponse
Avatar
Sylian
Bonjour,
Je cherche quelquechose de simple mais en VBA donc, ça se complique.

Je selectionne une colonne puis j'appuie sur le bouton "Correspondances"
à droite. Une box avec 3 champs s'ouvre. Les champs1, 2 et 3 sont
respectivement nommés pvalue, decacol et nvval

Je teste les valeurs d'une colonne (généralement la P.Value) en fonction
de la condition du champ1 (pvalue)
Si la condition est remplie alors j'écris une valeur (nvval) dans une
autre colonne à droite ou à gauche de la colonne testée (décalage
rentrée grâce à la valeur decacol)

ca donne ça (et l'exemple est plus loin)


Sub correspinit()
Dim pvalue As Single
Dim decacol, nvval As Integer

Corresbox.decacol.Value = 1
Corresbox.pvalue.Value = 0.001
Corresbox.nvval.Value = 1
Corresbox.Show
End Sub

Sub correspondances()
Dim Cell As Range

For Each Cell In Selection
If Cell.Value > pvalue Then
Cell.Offset(0, decacol) = CDbl(nvval)

End If
Next
Corresbox.Hide
End Sub



L'exemple est là :
http://dl.free.fr/gYXeToZPc/correspondances.xls

Le principe ne doit pas être mauvais mais ça plante de partout ! Ca ne
décale rien, les valeurs sont toutes à zéro comme si mes entrées
n'étaient pas prises en compte ou était du texte. Help !

1 réponse

Avatar
Sylian
La réponse était

pvalue2 = CDbl(pvalue.Value)
decacol2 = CDbl(decacol.Value)
nvval2 = CDbl(nvval.Value)

Car pvalue2=Val(pvalue.Value) ne fonctionne pas!

Merci Excelabo !

-----------------------------------



Bonjour,
Je cherche quelquechose de simple mais en VBA donc, ça se complique.

Je selectionne une colonne puis j'appuie sur le bouton "Correspondances"
à droite. Une box avec 3 champs s'ouvre. Les champs1, 2 et 3 sont
respectivement nommés pvalue, decacol et nvval

Je teste les valeurs d'une colonne (généralement la P.Value) en fonction
de la condition du champ1 (pvalue)
Si la condition est remplie alors j'écris une valeur (nvval) dans une
autre colonne à droite ou à gauche de la colonne testée (décalage
rentrée grâce à la valeur decacol)

ca donne ça (et l'exemple est plus loin)


Sub correspinit()
Dim pvalue As Single
Dim decacol, nvval As Integer

Corresbox.decacol.Value = 1
Corresbox.pvalue.Value = 0.001
Corresbox.nvval.Value = 1
Corresbox.Show
End Sub

Sub correspondances()
Dim Cell As Range

For Each Cell In Selection
If Cell.Value > pvalue Then
Cell.Offset(0, decacol) = CDbl(nvval)

End If
Next
Corresbox.Hide
End Sub



L'exemple est là :
http://dl.free.fr/gYXeToZPc/correspondances.xls

Le principe ne doit pas être mauvais mais ça plante de partout ! Ca ne
décale rien, les valeurs sont toutes à zéro comme si mes entrées
n'étaient pas prises en compte ou était du texte. Help !