boite de dialogue intéractive

D

Dok'

Guest
Bonjour à tous,

cela fait longtemps que je nsuis pas venu quémander (comme toujours) de l'aide....
Le programme ci-deesous (qui marche) me permet de colorier en orange (à partir de la ligne 26) les lignes lorsque les valeurs des cases O sont inférieures à 10 ET celles de P inférieures à 5 (je ne sais pas s'il y a plus simple, mais en tout cas ça marche).
Ma question vient après ce programme...

Sub Coloriage()

n = Range("A65536").End(xlUp).Row
k = 26
Range("A26").Select
Do Until ActiveCell = ""
If ActiveCell.Offset(0, 14) < 10 Then
If ActiveCell.Offset(0, 15) < 5 Then
Range("A" & k & ":" & "P" & k).Select
Selection.Interior.ColorIndex = 44
End If
End If
k = k + 1
ActiveCell.Offset(1, 0).Select
Loop

End Sub



En fait, je voudrais écrire un programme qui m'ouvre une boite de dialogue me demandant les valeurs maximales acceptables pour les colonnes O et P (càd ici 10 et 5).

Mon but est d'éviter d'être obliger d'aller changer mes paramètres dans ma macro....

Si je suis assez explicite, est-ce compliqué ? Il s'agit de faire une USERFORM ? je n'y connais rien, si vous pouviez m'éclairer...

MERCI D'AVANCE

Dok'
 
D

Dok'

Guest
Merci encore....

Un autre petit conseil SVP.

Comment changer l'userform précedent pour faire 4 MsgBox (ça j'ai réussi à la faire) : dans l'ordre : A min / A max / B min / Bmax, sachant que les valeurs de A sont dans la colonne G et celles de B dans la I.

En fait il faut ensuite que ma macro supprime toutes les lignes dont les valeurs de A OU celles de B ne sont pas comprises dans l'intervalle précédent..

Merci d'avance.

Dok'.

P.S. : j'ai fait ça mais comme c'est la première fois que j'utilise un userform je ne comprends pas du tout pourquoi ça ne marche pas (ça me supprime certaines lignes, mais pas celles que je veux).


Private Sub CommandButton1_Click()

If IsNumeric(Me.TextBox1) And IsNumeric(Me.TextBox2) And IsNumeric(Me.TextBox3) And IsNumeric(Me.TextBox4) Then

n = Range("A65536").End(xlUp).Row
k = 3

Range("A3").Select

Do Until ActiveCell = ""
If ActiveCell.Offset(0, 6) < CDec(Me.TextBox1) Or ActiveCell.Offset(0, 6) >= CDec(Me.TextBox2) Then
Rows(k & ":" & k).Select
Selection.EntireRow.Delete
End If
If ActiveCell.Offset(0, 8) < CDec(Me.TextBox3) Or ActiveCell.Offset(0, 8) >= CDec(Me.TextBox4) Then
Rows(k & ":" & k).Select
Selection.EntireRow.Delete
End If
k = k + 1
ActiveCell.Offset(1, 0).Select
Loop
End If
End Sub
__________________________________________
Private Sub CommandButton2_Click()
Unload Me
End Sub
Sub forme()
Load UserForm1
End Sub
______________________________
Private Sub Label1_Click()

End Sub
_____________________________
Private Sub Label3_Click()

End Sub
__________________________________
Private Sub Label5_Click()

End Sub
_____________________________________
Private Sub UserForm_Click()

End Sub
 

Discussions similaires

Réponses
21
Affichages
1 K
  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
366

Statistiques des forums

Discussions
313 092
Messages
2 095 190
Membres
106 210
dernier inscrit
fr4j4n