Blocage recherche + copier-coller

SRBIJA

XLDnaute Junior
Bonjour,

Il me faut de l'aide pour ce problème.

Vous trouverez les explications en pièces jointes.

Merci d'avance pour vos suggestions.
 

Pièces jointes

  • test.xls
    16.5 KB · Affichages: 47
  • test.xls
    16.5 KB · Affichages: 49
  • test.xls
    16.5 KB · Affichages: 52
C

Compte Supprimé 979

Guest
Re : Blocage recherche + copier-coller

Salut SRBIJA,

Voici le code à placer dans un module
Code:
Sub SearchRef()
  Dim Cel As Range, DerLig As Long, ShtD As Worksheet, ShtS As Worksheet
  Dim A, B, C
  ' Initialisation des Feuilles
  Set ShtD = Sheets("données")
  Set ShtS = Sheets("suivi")
  ' Initialisation des variables
  DerLig = ShtD.Range("A" & Rows.Count).End(xlUp).Row
  ShtS.Range("A2:A" & Rows.Count).ClearContents
  A = 5: B = 13: C = 20
  '
  For Each Cel In ShtD.Range("A2:A" & DerLig)
    If Cel = ShtS.Range("C5") Then
      ShtS.Range("A" & A) = Cel.Offset(0, 1)
      A = A + 1
    End If
    If Cel = ShtS.Range("C13") Then
      ShtS.Range("A" & B) = Cel.Offset(0, 1)
      B = B + 1
    End If
    If Cel = ShtS.Range("C20") Then
      ShtS.Range("A" & C) = Cel.Offset(0, 1)
      C = C + 1
    End If
  Next Cel
  ' On vide les variables objets
  Set ShtD = Nothing
  Set ShtS = Nothing
End Sub

Attention, je ne teste pas l'écrasement possible des références si la liste est plus grande pour un numéro de série !

A+
 

SRBIJA

XLDnaute Junior
Re : Blocage recherche + copier-coller

Salut SRBIJA,

Voici le code à placer dans un module
Code:
Sub SearchRef()
  Dim Cel As Range, DerLig As Long, ShtD As Worksheet, ShtS As Worksheet
  Dim A, B, C
  ' Initialisation des Feuilles
  Set ShtD = Sheets("données")
  Set ShtS = Sheets("suivi")
  ' Initialisation des variables
  DerLig = ShtD.Range("A" & Rows.Count).End(xlUp).Row
  ShtS.Range("A2:A" & Rows.Count).ClearContents
  A = 5: B = 13: C = 20
  '
  For Each Cel In ShtD.Range("A2:A" & DerLig)
    If Cel = ShtS.Range("C5") Then
      ShtS.Range("A" & A) = Cel.Offset(0, 1)
      A = A + 1
    End If
    If Cel = ShtS.Range("C13") Then
      ShtS.Range("A" & B) = Cel.Offset(0, 1)
      B = B + 1
    End If
    If Cel = ShtS.Range("C20") Then
      ShtS.Range("A" & C) = Cel.Offset(0, 1)
      C = C + 1
    End If
  Next Cel
  ' On vide les variables objets
  Set ShtD = Nothing
  Set ShtS = Nothing
End Sub

Attention, je ne teste pas l'écrasement possible des références si la liste est plus grande pour un numéro de série !

A+

Ton code est bon seulement pour ce cas là.

Cependant, je voudrais que la macro comprenne automatiquement que lorsqu'il y a un numéro de serie dans l'onglet "suivi" en colonne C il recherche les références associés à ce numéro dans l'onglet "données" et les copie et colle dans la colonne A au même niveau que le numéro de serie et à la suite.

Merci pour vos réponses car je suis vraiment bloqué.
 

Statistiques des forums

Discussions
312 769
Messages
2 091 934
Membres
105 109
dernier inscrit
GeoF P