Enchainement de 2 codes

condors.s

XLDnaute Occasionnel
Bonjour le forum.

Je pose une question qui va semblée très simple à certain, mais voilà :
J'ai trouvé sur le forum un code pour lettrer des ligne.

Je voulais ajouter un morceau de code pour extraire sur un autre onglet les lignes non lettrer.

Il y a un problème sur l'enchainement des 2 codes.

Code:
Sub lettrer()
Dim NumLet As Long, Nbligne As Long, LD As Long, LC As Long
Dim Lettrage As String
NumLet = 0

Nbligne = Cells(65536, 1).End(xlUp).Row

For LD = 2 To Nbligne - 1
 If Cells(LD, 6).Value <> 0 And Cells(LD, 8).Value = "" Then
   For LC = LD + 1 To Nbligne
     If Cells(LC, 8).Value = "" Then
       If Cells(LD, 6).Value = Cells(LC, 7).Value Then
          NumLet = NumLet + 1
          Lettrage = Format(“xx") & "-" & Format(NumLet, "00000")
          Cells(LD, 8).Value = Lettrage
          Cells(LC, 8).Value = Lettrage
          Exit For
       End If
     End If
   Next
  End If
  
Next


MsgBox "le lettrage est terminé"

'Extraction des données non lettrées
    ActiveSheet.Range("$A$A:$H$H").AutoFilter Field:=8, Criteria1:="="
    Range("A5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Rows("5:1048576").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("A5").Select
    ActiveSheet.Paste
    Sheets("Feuil1").Select
    Application.CutCopyMode = False
    Range("A5").Select
    ActiveSheet.ShowAllData
    Sheets("Feuil2").Select
    Range("A5").Select

End Sub


Si quelqu'un a un tuyau.

Merci à tous
 

Gorfael

XLDnaute Barbatruc
Re : Enchainement de 2 codes

Salut condors.s et le forum
À cette ligne :
Code:
Lettrage = Format(“xx") & "-" & Format(NumLet, "00000")
VBA me fait un KK nerveux et se fâche tout rouge :D
Ne connaissant du problème que ce que tu as mis dans ton poste et ma boule de cristal étant brumeuse (sans doute dû au temps), je ne sais pas ce qui ne va pas. quelques menues remarques sur ton code, à tout hasard :
Code:
'Extraction des données non lettrées
    'ActiveSheet.Range("$A$A:$H$H").AutoFilter Field:=8, Criteria1:="="
    ActiveSheet.Range("A:H").AutoFilter Field:=8, Criteria1:="="
    'me semble plus lisible, mais impose que ce soit la feuille active qui soit traitée
    '-------------------------------------
    Range("A5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    'faudrait peut-être voir un orthophoniste pour soigner ce bégaiement
    'Ne sachant ce que tu veux faire ....
    'range([A5],[A5].end(xlDown)).select
    '-------------------------------------
     Rows("5:1048576").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("A5").Select
    ActiveSheet.Paste
    'Perso, je mettrai plutôt un truc de ce style
    'Sheets("Feuil1").Rows("5:1048576").Copy Sheets("Feuil2").Range("A5")          
    '-------------------------------------
      Application.CutCopyMode = False
    'sert à enlever les tirets clignotant générés par mode copier
    '-------------------------------------
       Sheets("Feuil1").Select
    Range("A5").Select
    ActiveSheet.ShowAllData
    'même style
    'Sheets("Feuil1").ShowAllData 'mais ça impose un filtre élaboré ou
    'Sheets("Feuil1").FilterMode = False
    '-------------------------------------
       Sheets("Feuil2").Select
    Range("A5").Select

End Sub
A+