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

un deuxième critère dans le procéssus

4 réponses
Avatar
pellet15
Bonjour =E0 tous (Bonne Ann=E9e & Sant=E9 pour 2016)

La proc=E9dure suivante me donne les dates que j'ai choisie=20
(dans un autre partie du processus)
=20
je voudrait ajouter un autre crit=E8re de s=E9lection ,=20
dans la colonne D c'est la qu'il y a la date et=20
je voudrait en plus dans la colonne E (pour chaque date)
si il y a les lettres AA ,comme deuxi=E8me crit=E8re.

Dim XXX As Integer
For XXX =3D 1 To 1000
If InStr(Sheets("Base_Insp").Range("D" & XXX), AutreDate) > 0 Then
Call Ca("D" & XXX, True, An, Right(AutreDate, 2))
End If
=20
If Sheets("Base_Insp").Range("D" & XXX) =3D "" Then
Exit For
End If
Next



Je ne suis pas sur d'=EAtre claire=20

Bon=20
Dans la colonne D (de la feuille "Base_Insp")
il y a des dates (XXX) et pour la date qui a =E9t=E9 choisie au paravent d=
ans le processus,=20
je voudrait avoir seulement les date qui ont les lettre AA =20
dans la colone E .=20


Merci

4 réponses

Avatar
MichD
Bonjour,

La question n'est pas claire. Tu peux poster le code, mais assure-toi
d'abord que la question est claire... on ne peut pas déduire la question
à partir d'un code qui ne fait pas le travail attendu!

Je suppose que tu veux tester 2 conditions :
A ) Le contenu de la cellule en colonne D est une date
B ) Le contenu de la cellule en colonne E sur la même ligne est égal à "AA"

Alors le début de la macro devrait ressembler à ceci.

Dim C As Range

With Worksheets("("Base_Insp")
For Each C in .Range("D1:D" & .Range("D" & .Rows.Count).End(xlUp).row)
If isdate(c) and UCase(c.offset(,1)) = "AA" Then
Call ....
Avatar
pellet15
Le dimanche 3 janvier 2016 12:35:46 UTC-5, MichD a écrit :
Bonjour,

La question n'est pas claire. Tu peux poster le code, mais assure-toi
d'abord que la question est claire... on ne peut pas déduire la questio n
à partir d'un code qui ne fait pas le travail attendu!

Je suppose que tu veux tester 2 conditions :
A ) Le contenu de la cellule en colonne D est une date
B ) Le contenu de la cellule en colonne E sur la même ligne est égal à "AA"

Alors le début de la macro devrait ressembler à ceci.

Dim C As Range

With Worksheets("("Base_Insp")
For Each C in .Range("D1:D" & .Range("D" & .Rows.Count).End(xlUp).row )
If isdate(c) and UCase(c.offset(,1)) = "AA" Then
Call ....




Voici une partie de la procédure...
___________________________________________
Sub FinalWork_cn()

Dim name As String
Dim name2cn As String
Dim name3cn As String
Dim name4cn As String
Dim name5cn As String
Dim Diruat As Boolean

If UserForm1.OptionButton13 = True Then
An = UserForm1.OptionButton13.Caption
ElseIf UserForm1.OptionButton14 = True Then
An = UserForm1.OptionButton14.Caption

Else
MsgBox "Sélectionner l'année!"
Exit Sub
End If

If UserForm1.OptionButton1 = True Then
dater = "janvier"
AutreDate = An & "-01"
ElseIf UserForm1.OptionButton2 = True Then
dater = "février"
AutreDate = An & "-02"
ElseIf UserForm1.OptionButton3 = True Then
dater = "mars"
AutreDate = An & "-03"
ElseIf UserForm1.OptionButton4 = True Then
dater = "avril"
AutreDate = An & "-04"
ElseIf UserForm1.OptionButton5 = True Then
dater = "mai"
AutreDate = An & "-05"
ElseIf UserForm1.OptionButton6 = True Then
dater = "juin"
AutreDate = An & "-06"
ElseIf UserForm1.OptionButton7 = True Then
dater = "juillet"
AutreDate = An & "-07"
ElseIf UserForm1.OptionButton8 = True Then
dater = "août"
AutreDate = An & "-08"
ElseIf UserForm1.OptionButton9 = True Then
dater = "septembre"
AutreDate = An & "-09"
ElseIf UserForm1.OptionButton10 = True Then
dater = "octobre"
AutreDate = An & "-10"
ElseIf UserForm1.OptionButton11 = True Then
dater = "novembre"
AutreDate = An & "-11"
ElseIf UserForm1.OptionButton12 = True Then
dater = "décembre"
AutreDate = An & "-12"
Else
MsgBox "il faut choisir un Mois! "
Exit Sub
End If
PathAn = ThisWorkbook.Path & "" & An
PathMois = PathAn & "" & MonthName(Right(AutreDate, 2)) & ""


Dim XXX As Integer
For XXX = 1 To 1000
If InStr(Sheets("Base_Insp").Range("D" & XXX), AutreDate) > 0 Then
Call Ca("D" & XXX, True, An, Right(AutreDate, 2))
End If

If Sheets("Base_Insp").Range("D" & XXX) = "" Then
Exit For
End If
Next

UserForm1.Hide
Call effacer_défec
Call effacer_insp
name2cn = PDFAig(name2cn)
name3cn = PDFVoie(name3cn)
name4cn = PDFTravaux_complete(name4cn)
name5cn = PDFDefaut(name5cn)

Call Sendit(name2cn, name3cn, name4cn, name5cn)
End Sub
__________________________________________________________


oui c'est bien ces deux condition
pour choisr le mois et l'année j'ai une UserForm

Merci
Avatar
MichD
Tu peux réduire la longue série de If par ceci. Et surtout quand tu poses
une question, ne prend pas le temps d'expliquer ce que tu veux faire, cela
aide à raccourcir nos réponses!

'-----------------------------------------
With Userform1
For A = 1 To 12
If .Controls("OptionButton" & A).Value = True Then
dater = Format(DateSerial(2016, A, 1), "MMMM")
If A < 10 Then
AutreDate = An & "-0" & 1
Else
AutreDate = An & "-0" & A
End If
Exit For
End If
Next
If dater = "" Then
MsgBox "il faut choisir un Mois! "
Exit Sub
End If
End With
Avatar
pellet15
Le dimanche 3 janvier 2016 14:56:02 UTC-5, MichD a écrit :
Tu peux réduire la longue série de If par ceci. Et surtout quand tu poses
une question, ne prend pas le temps d'expliquer ce que tu veux faire, cel a
aide à raccourcir nos réponses!

'-----------------------------------------
With Userform1
For A = 1 To 12
If .Controls("OptionButton" & A).Value = True Then
dater = Format(DateSerial(2016, A, 1), "MMMM")
If A < 10 Then
AutreDate = An & "-0" & 1
Else
AutreDate = An & "-0" & A
End If
Exit For
End If
Next
If dater = "" Then
MsgBox "il faut choisir un Mois! "
Exit Sub
End If
End With



Je m'explique, j'ai utiliser une macros qui fonctionne et je veut lui ajout er une deuxième condition.

J'ai attacher le document,
http://www.cjoint.com/c/FAeqI6tm3VL

Le module7 et 5 .(le module 6 je veut le garder avec une seul condition)

Mot de passe "MichD" pour vba
pour les fenetre "831199"

Gros merci pour votre aide..