none
Excel - Recherche de valeur sur plusieurs onglets RRS feed

  • Question

  • Bonjour,

    Je bloque un peu dans une macro et un petit coup de main ne serait pas de refus.

    Dans un tableau classé en plusieurs onglets (1 par mois), j'aimerais effectuer une recherche sur les différents onglet pour chaque référence afin d'en isoler les doublons dans un nouvel onglet.

    J'ai un début de code mais je bloque pour la suite :

    Sub Doublon() Dim Plage_source Dim Plage_test Dim Cel_E As Range Dim Cel_F As Range Dim I As Integer Dim wsSheet As Worksheet

    Set wsSheet = Sheets("Doublons")
    On Error GoTo 0If Not wsSheet Is Nothing Then

    Else
    Set Doublons = Sheets.Add(After:=Sheets(Sheets.Count))
          Doublons.Name = "Doublons"
    End If

    Sheets("FEV").Activate Set Source = Range([E5], [E65536].End(xlUp)) Sheets("MARS").Activate Set test = Range([E5], [E65536].End(xlUp)) Sheets("FEV").Activate For Each Cel_E In source Set Cel_F = test.Find(Cel_E, , xlValues) If Not Cel_F Is Nothing Then Sheets("doublons").Activate

    J'aimerais coller la ligne trouvé sur l'onglet du mois de mars dans l'onglet doublon mais je bloque.

    Merci d'avance.



    • Modifié MikeLee75 vendredi 12 juin 2015 13:19
    vendredi 12 juin 2015 12:38

Toutes les réponses

  • Bonjour,

    Essaie :

        Dim Plage_source
        Dim Plage_test
    
        Dim Cel_E As Range
        Dim Cel_F As Range
        Dim I As Integer
        Dim wsSheet As Worksheet
        Dim Ligne As Long
        Set wsSheet = Sheets("Doublons")
    On Error GoTo 0
    If Not wsSheet Is Nothing Then
    
    Else
    Set doublons = Sheets.Add(After:=Sheets(Sheets.Count))
          doublons.Name = "Doublons"
    End If
    
    
           
          Sheets("FEV").Activate
       
           Set Source = Range([E5], [E65536].End(xlUp))
        
              Sheets("MARS").Activate
        Set test = Range([E5], [E65536].End(xlUp))
        
                Sheets("FEV").Activate
     
        For Each Cel_E In Source
        
                 Set Cel_F = test.Find(Cel_E, , xlValues)
            
    
            If Not Cel_F Is Nothing Then
                
              Ligne = Ligne + 1
              doublons.Cells(Ligne, 5).Value = Cel_F.Value
            End If
    

    Cordialement.

    Daniel

    vendredi 12 juin 2015 15:00
  • Bonsoir,

    Finalement j'ai fini par trouver ceci : 

       Dim Plage_source
        Dim Plage_test
    
        Dim Cel_E As Range
        Dim Cel_F As Range
        Dim I As Integer
        Dim wsSheet As Worksheet
        Dim Ligne As Long
        Set wsSheet = Sheets("Doublons")
    On Error GoTo 0
    If Not wsSheet Is Nothing Then
    
    Else
    Set doublons = Sheets.Add(After:=Sheets(Sheets.Count))
          doublons.Name = "Doublons"
    End If
    
    
           
          Sheets("FEV").Activate
       
           Set Source = Range([E5], [E65536].End(xlUp))
        
              Sheets("MARS").Activate
        Set test = Range([E5], [E65536].End(xlUp))
        
                Sheets("FEV").Activate
     
        For Each Cel_E In Source
        
                 Set Cel_F = test.Find(Cel_E, , xlValues)
            
    
            If Not Cel_F Is Nothing Then
                
              Sheets("Doublons").Activate
    Ligne = Sheets("doublons").Range("E65536").End(xlUp).Row + 1
          Cells(Ligne, 1).Select
         ActiveSheet.Paste
                     
            End If
            
        Next Cel_E
    Merci pour votre aide
    vendredi 12 juin 2015 23:35