Extraction de numéros de commandes

Bonjour à tous, le forum,

Je bloque depuis quelques temps sur un problème de décomposition de numéro de commandes.

Je m'explique :

Dans mon onglet "Extraction" j'ai des numéros de commandes qui arrivent comme ceci "CDF 23 00930/934/41" qui correspondent en réalité à :

- CDF 23 00930

- CDF 23 00934

- CDF 23 00941

Une fois ces commandes décomposer j'aimerais les incorporer dans l'onglet "PchtEXPE" si c'est des chargements (visible onglet "Extraction") et "PchtRECEP" si c'est des réceptions.

A noter que les 3 commandes extraites comporteront les mêmes informations de transporteurs, RDV, date de chargement dans l'onglet "PchtEXPE" ou "PchtRECEP".

Je vous joint le fichier pour illustrer mes propos.

VBA ou formule peu m'importe je souhaite juste comprendre ou je bloquais !

Merci à vous d'avance ! :)

17pautochimay.xlsm (210.56 Ko)

Bonjour LemployéDuMois, le forum,

Un essai....

Sur la feuille EXTRACTION, un clic sur le bouton SUPP dispatch les données sur les feuilles et efface le tableau.

11pautochimay.xlsm (217.39 Ko)

Cordialement,

Bonjour Xorsankukai,

Ta macro marche très bien, je t'en remercie grandement !

Je vais regarder ton code pour essayer de le comprendre !

Excellente journée à toi,

L'EDM

Rebonjour,

J'ai juste une petite question ...

J'aimerais incorporer un argument dans la macro au niveau du Like en lui demandant si les données correspondent à "CEX - Chargement" OU "CT - Chargement".

Cependant l'argument "Or" ne fonctionne pas dans ce cas là.

Avez-vous des pistes ?

Sub EXPE()
 Dim tb(), t
 Dim i, j, n, k
 Dim val$, mot$

  With Range("TB_extraction")
   For i = 1 To .Rows.Count
    If .Cells(i, 16) Like "CEX - Chargement" Then   ''''''''''''''''''''''''''''' A ce niveau là  '''''''''''''''''''''''''''''''
   If .Cells(i, 4).Value Like "*" & "/" & "*" Then
     val = Mid(.Cells(i, 4).Value, 7): mot = Left(.Cells(i, 4), 7)
     t = Split(val, "/")
      For j = LBound(t) To UBound(t)
       n = n + 1: ReDim Preserve tb(1 To 5, 1 To n)
         tb(1, n) = mot & Format(Application.Trim(Application.Clean(t(j))), "00000")
         tb(2, n) = .Cells(i, 3).Value
         tb(3, n) = .Cells(i, 16).Value
         tb(4, n) = .Cells(i, 1).Value
         tb(5, n) = .Cells(i, 14).Value
      Next j
     Else
      n = n + 1: ReDim Preserve tb(1 To .Columns.Count, 1 To n)
        tb(1, n) = .Cells(i, 4).Value
        tb(2, n) = .Cells(i, 3).Value
        tb(3, n) = .Cells(i, 16).Value
        tb(4, n) = .Cells(i, 1).Value
        tb(5, n) = .Cells(i, 14).Value
     End If
     End If
    Next i
   With Range("TB_expe")
   On Error Resume Next
   .Delete
   .Resize(n, .Columns.Count).Value = Application.Transpose(tb)
   .Range("TB_expe[RDV]").NumberFormat = "h:mm;@"
   .Range("TB_expe[Date]").NumberFormat = "m/d/yyyy"
  End With
  End With
End Sub

Merci d'avance,

L'EDM

Bonjour,

Merci pour le retour,

J'aimerais incorporer un argument dans la macro au niveau du Like en lui demandant si les données correspondent à "CEX - Chargement" OU "CT - Chargement".

Peut-être ainsi:

If .Cells(i, 16) Like "CEX - Chargement" Or .Cells(i, 16) Like "CT - Chargement" Then

ou plus simple, si tu as d'autres types de chargements et que tu les veux tous :

If .Cells(i, 16) Like "*Chargement" Then

Cordialement,

Rechercher des sujets similaires à "extraction numeros commandes"