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!!

Rechercher des sujets similaires à "effacer donnees clearcontent"