If dans IF

ilada -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je souhaite réalisé une macro sous VBA pour supprimer certains onglet en fonction des certaines conditions enregistrés dans une feuille paramètres:
J'ai deux conditions que la macro doit vérifier avant l'action.
Si la cellule X = ... et la cellule Y =..... il faut supprimer la feuille .....

Merci pour votre aide.

2 réponses

choubaka Messages postés 5526 Date d'inscription   Statut Modérateur Dernière intervention   2 106
 
salut utilise la locution "AND" entre les deux condition

If X= .. AND Y= ...
1
ilada
 
Voila le code que j'ai mis et ca ne fonctionne pas.
Private Sub CommandButton1_Click()
Dim Rôle As Integer
Dim mot_de_passe_classeur As String
Dim x As String
Dim manu As String
Dim auto As String

If (ThisWorkbook.Sheets(feuille_parametres_projet).Cells(ligne_role__projet, col_enregistrement) = CdP & ThisWorkbook.Sheets(feuille_parametres_projet).Cells(7, 3) = x & ThisWorkbook.Sheets(feuille_parametres_projet).Cells(2, 8) = 1) Then

ActiveWorkbook.Unprotect ([mot_de_passe_classeur])
Application.DisplayAlerts = False

Sheets("A_Fin_data_2").Delete
Sheets("A_Fin_Result_2").Delete
Sheets("A_Fin_data_3").Delete
Sheets("A_Fin_Result_3").Delete

Application.DisplayAlerts = False

'Enregistré le fichier sous un autre nom
ActiveWorkbook.SaveAs "TDB final_" & ActiveWorkbook.Name
' ActiveWorkbook.Save

End If

End Sub


Merci pour ton aide
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonsoir,

x est délaré string donc :

Sheets(feuille_parametres_projet).Cells(7, 3) ="x"

mais en déclarant x 'dim x as string) ==> x est une variable et je ne vois pas d'affectation de valeur à x; dito pour "mot_de_passe"

m^me punition pour CDP (???: c'est quoi?)

bonne soirée

Michel

PS: il est dangereux et plus que déconseillé d'utiliser "displayalerts": a toi de chercher comment éviter le message lié à delete...
1