XL 2010 vba : if... largeur sont à peu près égales...ok

tarvel

XLDnaute Occasionnel
J'aimerais comparer la largeur de 3 cellules (voir même 5 ( cellules) et si la largeur sont à peu près égales, valider la 3ème cellule en sélection :
Selection.Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 4).Select
je laisse le fichier joint...macro avec résultat sur sheet2
En résumé comment valider avec des dimensions cellules approximativement égales?

Dim1 = Range("D1").Width

ActiveCell.Offset(0, -1).Select
Dim2 = Selection.Width
Dim2 = Round(Dim2, 0)

ActiveCell.Offset(0, -1).Select
Dim3 = Selection.Width
Dim3 = Round(Dim3, 0)
 

Pièces jointes

  • ClasseurTest1.xlsm
    18.3 KB · Affichages: 25
Dernière édition:

Theze

XLDnaute Occasionnel
Bonsoir,

Une piste :
Code:
Sub Test()

    Dim Dim1 As Single
    Dim Dim2 As Single
   
    Dim1 = 100
    Dim2 = 104
   
    If Dim2 >= Dim1 * 0.95 And Dim2 <= Dim1 * 1.05 Then
        MsgBox "avec une valeur de '" & Dim2 & "' Dim2 est dans la plage des -5% / +5% de '" & Dim1 & "' de Dim1 !"
    Else
        MsgBox "avec une valeur de '" & Dim2 & "' Dim2 n'est pas dans la plage des -5% / +5% de '" & Dim1 & "' de Dim1 !"
    End If
   
    Dim2 = 94
   
    If Dim2 >= Dim1 * 0.95 And Dim2 <= Dim1 * 1.05 Then
        MsgBox "avec une valeur de '" & Dim2 & "' Dim2 est dans la plage des -5% / +5% de '" & Dim1 & "' de Dim1 !"
    Else
        MsgBox "avec une valeur de '" & Dim2 & "' Dim2 n'est pas dans la plage des -5% / +5% de '" & Dim1 & "' de Dim1 !"
    End If
  
End Sub
 

tarvel

XLDnaute Occasionnel
Merci bxp Theze pour ta réponse
ça fonctionne bien...En fait il faut que je définisse le pourcentage de l'approximation des largeurs des cellules pour ainsi valider "la plage de cellules"...
J'ai testé avec du 10%...et ça me convient ;-)
 

Statistiques des forums

Discussions
312 145
Messages
2 085 762
Membres
102 966
dernier inscrit
InitialPP