Gestion de "lots" pour planning

Bonjour

Le code pour importer dans la feuille Planning à remplacer dans votre fichier

Sub Importplanning()

Dim plage As Range
Dim dlgCA As Integer, i As Integer, ligP As Integer, lig As Integer
Dim a
Dim monTab()
Dim j As Byte

With Sheets("Charge Par Article")
    dlgCA = WorksheetFunction.CountA(.Range("A:A"))

    Application.DisplayAlerts = False
    .Columns("C:C").TextToColumns Destination:=.Range("C1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="^", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    Application.DisplayAlerts = True

    'Suppression des lignes présentes dans la feuille planning
    For i = dlgCA To 2 Step -1
        On Error Resume Next
        lig = Sheets("Planning").Range("A:A").Find(.Range("A" & i), LookIn:=xlValues, lookat:=xlWhole).Row
        If Err.Number = 0 Then Rows(i).EntireRow.Delete: lig = 0
        On Error GoTo 0
    Next i

    dlgCA = WorksheetFunction.CountA(.Range("A:A"))
    Set plage = Union(.Range("A1:A" & dlgCA), .Range("C1:C" & dlgCA), .Range("P1:P" & dlgCA), .Range("R1:R" & dlgCA), .Range("u1:u" & dlgCA), .Range("M1:M" & dlgCA))
    lig = dlgCA - 1

End With

ReDim monTab(2 To lig, 1 To plage.Areas.Count)

For j = 1 To plage.Areas.Count 'parcours sur 6 colonnes
    a = plage.Areas(j)
    For i = 2 To lig
        monTab(i, j) = a(i, 1)
    Next i
Next j

With Sheets("Planning")
    ligP = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    .Range("A" & ligP & ":F" & ligP + dlgCA) = monTab
End With

End Sub

Le code fat ceci :
- Supprime les ^ (C'est le code que vous aviez fait et que j'ai simplifié)
- Supprime les lignes qui sont déjà présentes dans la feuille Planning
- Construit un tableau pour importer les données dans la feuille Planning (on ne supprime aucun colonne dans la feuille Charge Article)

Cordialement

Bonjour Dan

merci pour la macro. J'ai fait des essais j'ai rencontré des petits problèmes :

- lors de l’exécution de la macro , l'import sur l'onglet planning se passe bien mais j'ai systématiquement 3 lignes N/A qui apparaissent à la fin.

Le dernier lot figurant sur l'onglet charge par article n'est pas importé.

ligne napng

- lorsque je copie de nouvelles données dans l'onglet charge et que j’exécute la macro importplanning (2e import)

la ligne contenant l'entête de mes colonnes disparait,

sup entete

- Autre problème lors d'un 2e import les lots déjà présent sur l'onglet planning sont quand même réimporté de l'onglet charge du coup je me retrouve avec tout en double.

Re,

Oups désolé...

Par rapport à vos remarques voici les corrections :
- Il faut un point devant ROWS d'où modifiez cette ligne -> If Err.Number = 0 Then .Rows(i).EntireRow.Delete: lig = 0
- entre dlgCA = ..., et Set plage mettez cette ligne -> If dlgCA = 1 Then Exit Sub
- plus bas dans cette ligne --> lig = dlgCA -1 --> enlevez le -1
- A la fin de la macro modifiez cette ligne :

.Range("A" & ligP & ":F" & ligP + dlgCA - 2) = monTab

Après test chez moi, vous ne devriez plus avoir le N/A, les doublons et la suppression des titres LOT, .... etc

Cordialement

Bonjour

après 2 jours de test tout semble fonctionner.

Merci pour votre aide.

Petite question : combien avez-vous passez de temps pour réaliser l'ensemble des macros?

Re

Bah là je ne saurais pas dire peut être une heure ou deux en tout.

C'est surtout sur les N/A et le report du tableau dans la feuille Planning qui m'a posé quelques soucis

Merci de cloturer le fil si tout est ok en cliquant sur le petit v en haut à droite

Cordialement

Rechercher des sujets similaires à "gestion lots planning"