Effacer les données/ clearcontent?
Bonjour
déjà merci de prendre le temps de lire et de nous aider!
ci dessous un simple copier/coller valeur.
quand je lance la macro, les valeurs précédentes ne s'effacent pas.
j'aurai aimé savoir si la je devrais utiliser la fonction clearcontent?
le fichier est trop lourd pour le mettre en pj
Sub Planning_Livraison()
Dim dicoRefpfe As Dictionary
Dim dicoRefRAL As Dictionary
Dim dicoRefExpé As Dictionary
Set dicoRefExpé = New Dictionary
Set dicoRefRAL = New Dictionary
Set dicoRefpfe = New Dictionary
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
i = 6
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(5, j).Value <> ""
annee = Sheets("TCD RAL").Cells(4, j).Value
Semaine = Sheets("TCD RAL").Cells(5, 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
i = 6
While Sheets("TCD Expé").Cells(i, 1).Value <> ""
Référence = Sheets("TCD Expé").Cells(i, 1).Value
j = 2
While Sheets("TCD Expé").Cells(6, j).Value <> ""
annee = Sheets("TCD Expé").Cells(4, j).Value
Semaine = Sheets("TCD Expé").Cells(5, j).Value
LaValeur = Sheets("TCD Expé").Cells(i, j).Value
dicoRefExpé.Add (Référence & "/" & Semaine & "/" & annee), LaValeur
j = j + 1
Wend
i = i + 1
Wend
i = 9
While Sheets("Planning Livraison").Cells(i, 2).Value <> ""
Référence = Sheets("Planning Livraison").Cells(i, 2).Value
j = 7
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)
If Sheets("Planning Livraison").Cells(i, j).Value <> "" Then
Sheets("Planning Livraison").Cells(i, j).Interior.ColorIndex = 17
End If
End If
End If
If PFE = "RAL" Then
cle = Référence & "/" & Semaine & "/" & annee
If dicoRefRAL.Exists(cle) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefRAL(cle)
If Sheets("Planning Livraison").Cells(i, j).Value <> "" Then
Sheets("Planning Livraison").Cells(i, j).Interior.ColorIndex = 38
End If
End If
End If
If PFE = "Expé" Then
cle = Référence & "/" & Semaine & "/" & annee
If dicoRefExpé.Exists(cle) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefExpé(cle)
If Sheets("Planning Livraison").Cells(i, j).Value <> "" Then
Sheets("Planning Livraison").Cells(i, j).Interior.ColorIndex = 44
End If
End If
End If
nouvellecolonne:
j = j + 1
Wend
i = i + 1
Wend
MsgBox ("Done!")
End Sub
Bonjour Soasticot, bonjour le forum,
Vite mon dictionnaire des incongruités ! Alors va, va, val, valeurs, valeurs précédentes... M***e, rien !
Ha oui ! Ma boule de cristal... Mais où est-ce que je l'ai foutue ?... Arf, je l'ai prêtée à un Marabout qui n'avait plus de de potion magique...
Bon, ben, oui il te faudrait utiliser ClearContents mais où ?...
Merci pour ton retour,
est ce que si je le met là ca va? j'ai mis en gras
désolé je ne suis pas the best en VBA je suis au baby step et j'ai mis des mois pr faire ca (avec de l'aide lool)
i = 9
While Sheets("Planning Livraison").Cells(i, 2).Value <> ""
Référence = Sheets("Planning Livraison").Cells(i, 2).Value
j = 7
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
[b]Clearcontent [/b]
cle = Référence & "/" & Semaine & "/" & annee
If dicoRefpfe.Exists(cle) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefpfe(cle)
If Sheets("Planning Livraison").Cells(i, j).Value <> "" Then
Sheets("Planning Livraison").Cells(i, j).Interior.ColorIndex = 17
End If
End If
End If
If PFE = "RAL" Then
[b]Clearcontent [/b]
cle = Référence & "/" & Semaine & "/" & annee
If dicoRefRAL.Exists(cle) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefRAL(cle)
If Sheets("Planning Livraison").Cells(i, j).Value <> "" Then
Sheets("Planning Livraison").Cells(i, j).Interior.ColorIndex = 38
End If
End If
End If
If PFE = "Expé" Then
[b]Clearcontent [/b]
cle = Référence & "/" & Semaine & "/" & annee
If dicoRefExpé.Exists(cle) Then
Sheets("Planning Livraison").Cells(i, j).Value = dicoRefExpé(cle)
If Sheets("Planning Livraison").Cells(i, j).Value <> "" Then
Sheets("Planning Livraison").Cells(i, j).Interior.ColorIndex = 44
End If
End If
Re,
Clearcontents (avec un "s" à la fin) s'applique à une plage ! Donc il te faut écrire Range(Ta_plage).ClearContents ou Ta_plage représente une cellule ou une plage de cellules comme par exemple :
Sheets("Planning Livraison").Range("A1:G10").ClearContents
Merci Thautheme!
le dico créer permet également une selection de donner
Re,
Les Dictionnaires (Dictionary) permettent plein de choses. Ils sont souvent utilisés pour supprimer les doublons, pas pour sélectionner directement. J'avoue que je maîtrise encore très mal cette méthode malgré la lecture et relecture de l'excellent travail de Jacques Boisgontier. Je ne sais pas si ce lien sera toléré ici : http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm sinon, tape ce nom sur internet et tu trouveras...
Super merci je vais lire et m'entrainer!!