Modification MACRO VBA-conditions multiples
Bonjour,
j'ai récupéré une macro permettant de faire des copier-coller sur une autre feuille. La voici:
Sub ThauTheme()
Dim RM As Worksheet 'déclare la variable RM (onglet Réservation Matériel)
Dim FE As Worksheet 'déclare la variable FE (onglet Feuille Étiquettes)
Dim TS As ListObject 'déclare la variable TS (Tableau Structuré)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim Q As Long 'déclare la variable Q (Quantité)
Dim M As String 'déclare la variable M (Matériel)
Set RM = Worksheets(1) 'définit l'onglet RM
Set TS = RM.ListObjects(1) 'définit la tableau structuré TS
TV = TS.DataBodyRange 'définit la tableau des valeurs TV
Set FE = Worksheets(2) 'définit l'onglet FE
FE.Range("A1").CurrentRegion.Offset(1, 0).ClearContents ''efface les anviennes valeurs sauf les en-têtes
For I = 1 To UBound(TV, 1) 'boucle 1 : sur toutes les lignes I de TV
M = TV(I, 3) 'définit la matériel M
Q = TV(I, 4) 'définit la quantité Q
Select Case M 'agit en fonction de M
Case "1000 L Vert spécial verres" 'cas
If Q > 6 Then 'si la quantité est supérieure à 6
GoTo fin 'va à l'étiquette "fin"
Else 'sinon
GoTo suite 'va à l'étiquette "suite"
End If 'fin de la condition
Case "Cartons de saches 400 L" 'cas
If Q > 40 Then 'condition : si la quantité est supérieure à 40
GoTo fin 'va à l'étiquette "fin"
Else 'sinon
GoTo suite 'va à l'étiquette "suite"
End If 'fin de la condition
Case Else 'tous les autres cas
GoTo suite
End Select 'fin de l'action en fonction de M
suite: 'étiquette
For K = 1 To Q 'boucle 2 : sur le nombre de quantité K
'identifier la ligne de collage
DL = FE.Cells(Rows.Count, 1).End(xlUp).Row + 1
'coller les infos
FE.Cells(DL, 1).Resize(1, 8).Value = Application.Index(TV, I)
Next K
fin: 'étiquette
Next I 'prochaine ligne de la boucle 1
MsgBox "Données traitées !" 'message
End SubComme vous pouvez le voir ici j'ai deux conditions dans lesquelles la macro ne copie-colle pas que sont les cas où le matériel "1000 L Vert spécial verres" est supérieur à 6 et si "Cartons de saches 400 L" est supérieur à 40. Je souhaiterais donc rajouter des conditions mais sans succès.
Si matériel = un des intitulés en dessous alors la macro ne copie colle pas.
| 120 L Anthracite |
| 240 L Anthracite |
| 360 L Anthracite |
| 660 L Anthracite |
| 770 L Anthracite |
| 1000 L Jaune |
| 1000 L Bordeaux |
| 1100 L Anthracite |
| Caisses palettes Ajourées |
| Caisses palettes Ajourées neuves |
| Caisses palettes Pleines |
| Caisses palettes Gueltas pleines |
Si la quantité d'un des matériels ci-dessous dépassent les 40 alors la macro ne copie colle pas.
| Cartons de saches 1000 L |
| Cartons de saches 400 L "Décathlon" |
| Cartons de saches 200 L |
| Supports saches 1000 L |
| Supports saches 400 L |
| Supports saches 200 L |
J'ai conscience que je demande beaucoup de travail, si on pouvait juste m'aider sur quelques cas après je me débrouillerais car finalement une fois qu'on a réussi un cas c'est du recopiage (du moins je pense!)
Bonne journée à vous
Après beaucoup beaucoup beaucoup de recherches et du travailles j'ai pratiquement réussi à faire ma macro, il ne me reste plus que un détail que je ne comprends pas. Ce message passera sans doute inaperçu mais je suis fière de moi!!!
Je clos le sujet.