Liste deroulante recup couleurs et caracteres speciaux

bonjour,

j'aimerai pouvoir recuperer la mise en forme de la base clients BD (couleur cellule , texte et fond et commentaires , caracteres speciaux)

une combobox le fait mais avec trop d'autres problemes...

je suis donc revenu a une liste deroulante sans combo..

est ce possible ?

voir fichier que j'ai épuré

Bonjour,

Une piste à adapter !

Code à mettre dans le module de la feuille "vierge" :

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Plage As Range
    Dim Cel As Range

    Select Case Target.Column

        Case 2, 4, 6, 8, 10, 12, 14, 16, 18, 20

        Case Else: Exit Sub

    End Select

    With Worksheets("BD"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With

    Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)

    If Not Cel Is Nothing Then

        Application.EnableEvents = False

        Cel.Copy

        Target.PasteSpecial xlPasteFormats
        Application.CutCopyMode = False
        Fonte Cel, Target

    End If

    Application.EnableEvents = True

End Sub

Sub Fonte(CelSource As Range, CelCible As Range)

    Dim I As Integer

    For I = 1 To Len(CelSource)

        CelCible.Characters(I, 1).Font.Name = CelSource.Characters(I, 1).Font.Name

    Next I

End Sub

bonjour

j'ai insérer le code mais ça ne fait rien....

et m'y connais pas vraiment en code vba...

Bonjour,

Voici ton fichier en retour :

heu je suis désolé mais je ne vois aucun changement !

je voudrai que si un client de la liste est en rouge , qu'il apparaisse en rouge

si il y a un commentaire dans la bd que celui ci apparaisse aussi et idem avec les fonds de couleurs

en faisant une mise en forme conditionelle j'ai plus ou moins reussi a recuperer les fonds en fonction d'un texte commun mais pas l'ideal

Bonjour,

Voici le code de la procédure événementielle "Change()" avec la récup du commentaire (oubli de ma part). J'ai commenté le code :

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Plage As Range
    Dim Cel As Range
    Dim Com As Comment

    Select Case Target.Column

        Case 2, 4, 6, 8, 10, 12, 14, 16, 18, 20

        Case Else: Exit Sub

    End Select

    With Worksheets("BD"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With

    Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)

    If Not Cel Is Nothing Then

        'gèle les événements
        Application.EnableEvents = False

        'copie de la cellule
        Cel.Copy

        'colle la mise en forme
        Target.PasteSpecial xlPasteFormats

        'vide le presse papier
        Application.CutCopyMode = False

        'applique les différentes fontes en appelant la procédure
        Fonte Cel, Target

        'récupère le commentaire
        Set Com = Cel.Comment

        'et si il en existe un, en ajoute un et inscrit le texte
        If Not Com Is Nothing Then Target.AddComment (Com.Text)

    End If

    'rétabli le gestionnaire d'événements
    Application.EnableEvents = True

End Sub

Maintenant, la procédure permet de récupérer le texte avec les différentes fontes, la mise en forme et le commentaire si il y a !

merci ......

j'ai une erreur de compilation

sub ou function non defini sur la ligne fonte

'applique les différentes fontes en appelant la procédure

Fonte Cel, Target

d'autre part je dois mettre le code dans la feuille vierge ou bd ou creer un module ?

je pense vierge....

Il te faut aussi garder la Sub "Fonte()" puisque la procédure événementielle "Change()" l'appelle !

Comme dans le classeur que je t'ai mis en retour, le code doit se trouver au même endroit donc dans le VBE tu as une petite fenêtre en haut à gauche où sont indiqués les noms des feuilles, il te faut double cliquer sur la feuille "Feuil1 (vierge)" et dans la fenêtre qui vient d'apparaître (zone d'édition du code) tu colles la procédure événementielle "Change()" avec la "Sub Fonte()"

ha oui ça déchire , t'es trop fort merci merci merci

Bonjour,

Content de t'avoir aidé

Rechercher des sujets similaires à "liste deroulante recup couleurs caracteres speciaux"