Please ! Clé existante
Bonjour,
J'ai crée une macro copier/coller (avec de l'aide), j'ai repris le même code pour copier/coller différent onglet, le fichier ce compose de 3 onglets (prendre les données 1- référence, 2- semaine, 3- année => chaque onglet à une clé), puis ensuite il faut coller les données dans l'onglet récap.
Est ce que vous pourriez m'aider SVP?
merci d'avance
Ci dessous les 3 codes:
Sub Planning_LivraisonPFE()
'mes variables
Dim No_semaine As String
Dim dicoRefpfe As Dictionary
Dim dicoRefPlanning As Dictionary
Set dicoRefpfe = New Dictionary
Set dicoRefPlanning = New Dictionary
'Prendre les valeurs ds le PFE
i = 6
While Sheets("TCD PFE").Cells(i, 1).Value <> ""
Référence = Sheets("TCD PFE").Cells(i, 1).Value
j = 2
While Sheets("TCD PFE").Cells(5, j).Value <> ""
Annee = Sheets("TCD PFE").Cells(4, j).Value
Semaine = Sheets("TCD PFE").Cells(5, j).Value
LaValeur = Sheets("TCD PFE").Cells(i, j).Value
dicoRefpfe.Add (Référence & "/" & Semaine & "/" & Annee), LaValeur
j = j + 1
Wend
i = i + 1
Wend
'Ds TCD Expée
'Copier les valeurs ds l'onglet PL
i = 9
While Sheets("Planning Livraison").Cells(i, 2).Value <> ""
Référence = Sheets("Planning Livraison").Cells(i, 2).Value
j = 7
'copie les valeurs du PFE
While Sheets("Planning Livraison").Cells(8, j) & Sheets("Planning Livraison").Cells(8, j + 1) <> ""
PFE = Sheets("Planning Livraison").Cells(8, j).Value
If PFE = "Cde" Then
Semaine = Sheets("Planning Livraison").Cells(5, j).Value
Annee = Sheets("Planning Livraison").Cells(4, j).Value
GoTo nouvellecolonne
End If
If PFE = "PFE" Then
Cle = Référence & "/" & Semaine & "/" & Annee
If dicoRefpfe.Exists(Cle) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefpfe(Cle)
End If
End If
nouvellecolonne:
j = j + 1
Wend
i = i + 1
Wend
MsgBox ("Traitement terminé")
End Sub
Sub Planning_LivraisonRAL()
'mes variables
Dim dicoRefRAL As Dictionary
Dim dicoRefPlanning As Dictionary
Set dicoRefRAL = New Dictionary
Set dicoRefPlanning = New Dictionary
'Prendre les valeurs ds le RAL
i = 7
While Sheets("TCD RAL").Cells(i, 1).Value <> ""
Référence = Sheets("TCD RAL").Cells(i, 1).Value
j = 2
While Sheets("TCD RAL").Cells(6, j).Value <> ""
Annee = Sheets("TCD RAL").Cells(4, j).Value
Semaine = Sheets("TCD RAL").Cells(6, j).Value
LaValeur = Sheets("TCD RAL").Cells(i, j).Value
dicoRefRAL.Add (Référence & "/" & Semaine & "/" & Annee), LaValeur
j = j + 1
Wend
i = i + 1
Wend
'Copier les valeurs ds l'onglet PL
i = 9
While Sheets("Planning Livraison").Cells(i, 2).Value <> ""
Référence = Sheets("Planning Livraison").Cells(i, 2).Value
j = 7
'copie les valeurs du RAL
While Sheets("Planning Livraison").Cells(8, j) & Sheets("Planning Livraison").Cells(8, j + 1) <> ""
RAL = Sheets("Planning Livraison").Cells(8, j).Value
If RAL = "Cde" Then
Semaine = Sheets("Planning Livraison").Cells(5, j).Value
Annee = Sheets("Planning Livraison").Cells(4, j).Value
GoTo nouvellecolonne
End If
If RAL = "RAL" Then
Clef = Référence & "/" & Semaine & "/" & Annee
If dicoRefRAL.Exists(Clef) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefRAL(Clef)
End If
End If
nouvellecolonne:
j = j + 1
Wend
i = i + 1
Wend
MsgBox ("Traitement terminé")
End Sub
Sub Planning_LivraisonExpé()
Dim dicoRefExpee As Dictionary
Dim dicoRefPL As Dictionary
Set dicoRefExpee = New Dictionary
Set dicoRefPF = New Dictionary
'ds TCD Expé
i = 6
While Sheets("TCD Expé").Cells(i, 1).Value <> ""
Références = Sheets("TCD Expé").Cells(i, 1).Value
j = 2
While Sheets("TCD Expé").Cells(4, j).Value <> ""
AnneeExpé = Sheets("TCD Expé").Cells(4, j).Value
SemaineExpé = Sheets("TCD Expé").Cells(5, j).Value
LaValeurExpé = Sheets("TCD Expé").Cells(i, j).Value
dicoRefExpee.Add (Références & "/" & SemaineExpé & "/" & AnneeExpé), LaValeurExpé
j = j + 1
Wend
Wend
i = i + 1
'copier ds PL
i = 9
While Sheets("Planning Livraison").Cells(i, 2).Value <> ""
Référence = Sheets("Planning Livraison").Cells(i, 2).Value
j = 2
While Sheets("Planning Livraison").Cells(8, j).Value & Sheets("Planning Livraison").Cells(8, j + 1).Value <> ""
Expé = Sheets("Planning Livraison").Cells(8, j).Value
If Expé = "cde" Then
Annee = Sheets("Planning Livraison").Cells(4, j).Value
Semaine = Sheets("Planning Livraison").Cells(5, j).Value
GoTo nouvellecolonne
End If
If Expé = "Expé" Then
Clé = Référence & "/" & Semaine & "/" & Annee
If dicoRefExpee.Exists(Clef) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefExpee(Clé)
End If
End If
nouvellecolonne:
j = j + 1
Wend
i = i + 1
Wend
MsgBox ("Traitement terminé")
End Sub
une personne pour m'aider SVP