Bonjour, je suis relativement débutant et autodidacte dans le VBA et là, je bute... 🤔
J'ai créé une Macro qui me note un groupe de lettres suivant s'il y a des "OUI" dans une ou plusieurs autres colonnes de mon fichier. Voici le code actuel :
Sub Bouton1_Cliquer()
Columns("M:M").ClearContents
For X = 1 To 61
'Si OUI dans les colonnes N à U
If Cells(X, 15) = "OUI" Then Cells(X, 13) = "PF"
If Cells(X, 17) = "OUI" Then Cells(X, 13) = "DP"
If Cells(X, 19) = "OUI" Then Cells(X, 13) = "MSOL"
If Cells(X, 21) = "OUI" Then Cells(X, 13) = "SAP"
If Cells(X, 15) = "OUI" And Cells(X, 17) = "OUI" Then Cells(X, 13) = "PF + DP"
If Cells(X, 15) = "OUI" And Cells(X, 19) = "OUI" Then Cells(X, 13) = "PF + MSOL"
If Cells(X, 15) = "OUI" And Cells(X, 21) = "OUI" Then Cells(X, 13) = "PF + SAP"
If Cells(X, 17) = "OUI" And Cells(X, 19) = "OUI" Then Cells(X, 13) = "DP + MSOL"
If Cells(X, 17) = "OUI" And Cells(X, 21) = "OUI" Then Cells(X, 13) = "DP + SAP"
If Cells(X, 19) = "OUI" And Cells(X, 21) = "OUI" Then Cells(X, 13) = "MSOL + SAP"
If Cells(X, 15) = "NON" And Cells(X, 17) = "NON" And Cells(X, 19) = "NON" And Cells(X, 21) = "NON" Then Cells(X, 13) = "Non"
If Cells(X, 1) = "" Then Exit Sub
Next
End Sub
Pour vous donner un peu de contexte, je rentre de plus en plus de lignes au cours de la journée dans ce fichier et fais tourner la macro à chaque salve. Par exemple :
A 08h - 5 lignes - Activation de la Macro
A10h - 2 lignes de plus - Macro
11h - 7 lignes - Macro... etc...
Le problème c'est que à chaque fois, la macro rebalaye toute depuis la ligne 1, ce qui peut devenir longuet quand j'ai 40-50 lignes. Je voudrais donc modifier mon code pour qu'il démarre depuis la dernière ligne non vide de la colonne 13. Auriez-vous une idée pour y parvenir ?