1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
| '''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Appel Bon de Commande Adobe Acrobat Pro 2017
' Trouver la dernière ligne avec des données dans la colonne D de la feuille "Attribution"
derniereLigne = feuilleAttribution.Cells(feuilleAttribution.Rows.Count, "D").End(xlUp).row
' Vérifier si la dernière ligne contient "Adobe Acrobat Pro 2017"
If feuilleAttribution.Range("D" & derniereLigne).value = "Adobe Acrobat Pro 2017" Then
' Appeler la macro "VersionFOXIT" avec la référence à la cellule
Call BonComAdobeAcrobatPro2017
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Appel Bon de Commande Adobe Acrobat Pro 2017
' Trouver la dernière ligne avec des données dans la colonne D de la feuille "Attribution"
derniereLigne = feuilleAttribution.Cells(feuilleAttribution.Rows.Count, "D").End(xlUp).row
' Vérifier si la dernière ligne contient "Adobe Acrobat Pro 2017"
If feuilleAttribution.Range("D" & derniereLigne).value = "Adobe Acrobat Pro 2017" Then
' Appeler la macro "VersionFOXIT" avec la référence à la cellule
Call BonComAdobeAcrobatPro2017
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Réactiver les fonctionnalités après l'exécution de la macro
ConfigureApplicationSettings True
End Sub
Sub VersionFOXIT()
' Set a reference to the "Attribution" sheet
Dim feuille1 As Worksheet
On Error Resume Next
Set feuille1 = Sheets("Attribution")
On Error GoTo 0
If feuille1 Is Nothing Then
MsgBox "Sheet 'Attribution' not found!", vbExclamation
Exit Sub
End If
' Find the last row with data in column D of the "Attribution" sheet
Dim lastRow As Long
lastRow = feuille1.Cells(feuille1.Rows.Count, "D").End(xlUp).row
' Check each cell in column D for the presence of "FOXIT PhantomPDF"
Dim cell As Range
For Each cell In feuille1.Range("D1:D" & lastRow)
If InStr(1, cell.value, "FOXIT PhantomPDF", vbTextCompare) > 0 Then
' Set a reference to the "Listes" sheet
Dim feuilleListes As Worksheet
On Error Resume Next
Set feuilleListes = Sheets("Listes")
On Error GoTo 0
' Find the last row with data in column AB of the "Listes" sheet
Dim lastListesRow As Long
lastListesRow = feuilleListes.Cells(feuilleListes.Rows.Count, "AC").End(xlUp).row
' Clear existing validation in the corresponding cell in column E on the "Attribution" sheet
feuille1.Range("E" & cell.row).Validation.Delete
' Create a data validation list in the corresponding cell in column E on the "Attribution" sheet
With feuille1.Range("E" & cell.row).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="='Listes'!AC3:AC" & lastListesRow
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
.ErrorTitle = "Erreur de saisie"
.ErrorMessage = "Merci d'utiliser uniquement les listes déroulantes pour saisir vos données depuis la feuille 'Listes'."
End With
Else
' If "FOXIT PhantomPDF" is not found, delete the data validation in the corresponding cell in column E on the "Attribution" sheet
feuille1.Range("E" & cell.row).Validation.Delete
End If
Next cell
End Sub
Sub LicencesFOXIT()
' Licence Foxit
' Désactiver les fonctionnalités pendant l'exécution de la macro
ConfigureApplicationSettings False
' Définir une référence à la feuille "Attribution"
Dim feuille1 As Worksheet
On Error Resume Next
Set feuille1 = Sheets("Attribution")
On Error GoTo 0
If feuille1 Is Nothing Then
MsgBox "La feuille 'Attribution' n'a pas été trouvée !", vbExclamation
Exit Sub
End If
' Trouver la dernière ligne avec des données dans la colonne D de la feuille "Attribution"
Dim derniereLigne As Long
derniereLigne = feuille1.Cells(feuille1.Rows.Count, "D").End(xlUp).row
' Parcourir chaque cellule de la colonne D de "Attribution"
For i = 1 To derniereLigne
' Vérifier si le nom du logiciel dans la colonne D est "FOXIT PhantomPDF"
If InStr(1, feuille1.Range("D" & i).value, "FOXIT PhantomPDF", vbTextCompare) > 0 Then
' Vérifier la version dans la colonne E
Select Case feuille1.Range("E" & i).value
Case "FoxitPDFEditor 9.7"
' Attribuer la licence spécifique pour la version "9.7" à la cellule correspondante de la colonne F sur la feuille "Attribution"
feuille1.Range("F" & i).value = "toto1"
Case "FoxitPDFEditor 9.4"
' Attribuer la licence spécifique pour la version "9.4" à la cellule correspondante de la colonne F sur la feuille "Attribution"
feuille1.Range("F" & i).value = "toto2"
Case "FoxitPhantomPDF 10.0.0 Pour PC"
' Attribuer la licence spécifique pour la version "10.0.0" à la cellule correspondante de la colonne F sur la feuille "Attribution"
feuille1.Range("F" & i).value = "toto3"
Case "FoxitPhantomPDF 4.0.0_1 Pour MAC"
' Attribuer la licence spécifique pour la version "4.0.0_1" à la cellule correspondante de la colonne F sur la feuille "Attribution"
feuille1.Range("F" & i).value = "toto4"
Case Else
' Laisser vide pour les versions non reconnues
End Select
End If
Next i
' Réactiver les fonctionnalités après l'exécution de la macro
ConfigureApplicationSettings True
End Sub
Sub BonComAdobeAcrobatPro2017()
'Bon de Commande Adobe Acrobat Pro 2017
' Désactiver les fonctionnalités pendant l'exécution de la macro
ConfigureApplicationSettings False
' Définir une référence à la feuille "Attribution"
Dim feuille1 As Worksheet
Set feuille1 = Sheets("Attribution")
' Trouver la dernière ligne avec des données dans la colonne D de la feuille "Attribution"
Dim lastRow As Long
lastRow = feuille1.Cells(feuille1.Rows.Count, "D").End(xlUp).row
' Vérifier chaque cellule de la colonne D pour la présence de "Adobe Acrobat Pro 2017"
Dim cell As Range
For Each cell In feuille1.Range("D1:D" & lastRow)
If InStr(1, cell.value, "Adobe Acrobat Pro 2017", vbTextCompare) > 0 Then
' Définir une référence à la feuille "Listes"
Dim feuilleListes As Worksheet
Set feuilleListes = Sheets("Listes")
' Trouver la dernière ligne avec des données dans la colonne B de la feuille "Listes"
Dim lastListesRow As Long
lastListesRow = feuilleListes.Cells(feuilleListes.Rows.Count, "B").End(xlUp).row
' Créer une liste de validation des données dans la cellule correspondante de la colonne C sur la feuille "Attribution"
With feuille1.Range("C" & cell.row).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="='Listes'!B3:B" & lastListesRow
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
.ErrorTitle = "Erreur de saisie"
.ErrorMessage = "Merci d'utiliser uniquement les listes déroulantes pour saisir vos données depuis la feuille 'Listes'."
End With
Else
' Si "Adobe Acrobat Pro 2017" n'est pas trouvé, supprimer la validation des données dans la cellule correspondante de la colonne C sur la feuille "Attribution"
feuille1.Range("C" & cell.row).Validation.Delete
End If
Next cell
' Réactiver les fonctionnalités après l'exécution de la macro
ConfigureApplicationSettings True
End Sub |
Partager