XL 2010 Faire le lettrage

  • Initiateur de la discussion Initiateur de la discussion Annick3
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bonjour Annick3, le forum
une procédure un peu longue actuellement à l’exécution mais qui peut-être optimisée si cela correspond à votre besoin.
VB:
Sub lettrage()
Application.ScreenUpdating = False
Dim derlig As Long

   With Worksheets("Autres fournisseurs")
    
       derlig = .Range("a" & Rows.Count).End(xlUp).Row
       .Range("E2:E" & derlig).ClearContents
    
       For i = 2 To derlig
                        
           For j = i + 1 To derlig    '
               If .Cells(i, 5) = "" And .Cells(i, 6) > 0 Then
                 If .Cells(i, 3) = .Cells(j, 3) And .Cells(i, 6) = .Cells(j, 7) Then
                   .Cells(i, 5) = "A"
                   .Cells(j, 5) = "A"
                 End If
               End If
            Next j
        Next i

    End With
Application.ScreenUpdating = True

End Sub

petite modification du code pour éviter les valeurs nulles.
 
Dernière édition:
re,
version optimisée, lettrage effectué le temps d'appuyer sur le bouton ):
le code pour ceux qui ne souhaitent pas ouvrier le fichier.

VB:
Sub lettrage2()
Dim journal As Variant
Dim derlig As Long
' Dernière ligne du journal
derlig = Worksheets("Autres fournisseurs").Range("a" & Rows.Count).End(xlUp).Row
' Effacement du contenu de la colonne lettre
Range("E2:E" & derlig).ClearContents
' Affectation du contenu de la feuille au tableau journal
journal = Worksheets("Autres fournisseurs").Range("A2:H" & derlig).Value
' lettrage des écritures sans correspondance avec les libellés.
' correspondance des montants uniquement
For i = 1 To UBound(journal)
                         
           For j = i + 1 To UBound(journal)    '
               If journal(i, 5) = "" And journal(i, 6) > 0 Then
                 If journal(i, 6) = journal(j, 7) Then
                   journal(i, 5) = "A" & i
                   journal(j, 5) = "A" & i
                 End If
               End If
            Next j
        Next i
' Affichage du journal traité
Worksheets("Autres fournisseurs").Range("A2:H" & derlig).Value = journal
End Sub
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL pour MAC Lettrage, Macro
Réponses
19
Affichages
480
Réponses
4
Affichages
325
Retour