Soucis sur une formule

re,

Pour vérifier si cela passe bien dans la procédure, tu peux mettre un point d'arrêt sur une ligne de code en appuyant sur F9 (pour enlever le point d'arrêt, rappuyer sur F9).

Ensuite, tu peux également faire du pas à pas en appuyant sur F8 et ajouter des espions pour vérifier le contenu des variables et cellules (bouton droit : Ajouter un espion et taper le code ex : lgCol)

Bonsoir Readi forum

Je viens juste de finir divers essais," ton code seul fonctionne a merveille ", c'est la struture de MON code qui doit merder quelque part, c'est bizarre parce que tout fonctionne bien.

quand j'intègre ton code au mien, on dirai que ca passe a travers, il ni a rien de spécial dans code pourtant.

alors un petit service si tu veux bien, peut tu me transformer ton code comme une macro

juste pour voir si ca marche moi je n'arrive pas a transformer ton code en simple macro

je vais manger, le soir moi je suis pas mais je te souhaite une excellente soirée et encore merci a toi, c'est sympa de m'aider, je m'accroche.

je verrai ca demain matin dès l'aube hihihi

Salutations Raymond

Bonjour a tous et toutes, bonjour forum

Bonjour Readi

Bon depuis ce matin j'essaie de faire une macro de ton code et ca marche pas, ton code seul fonctionne bien, mais j'arrive pas refaire comme une macro.

Bon tout ca pour te dire merci de ton coup de main, c'est très sympa de ta part.

Passe une excellente journée et encore merci.

Raymond

Bonjour,

Pourrais-tu me donner la macro que tu as faite pour que je regarde ?

Merci

Salut Readi, forum

Bon j'ai réussi sans macro, je te joint le code modifier, mais la ca marche, tout marche bien, c'est grace a toi et tes conseils, alors merci merci beaucoup.

Sinon dit-moi svp, pour le format de mes cellules D3:O3 size,calibri, italic etc etc, je suis obliger de faire comme ca, voir code, sinon a chaque fois que je fait un essai, je pense que les deux acolites "clearformats et numberformat" me remettent tout a l'origine.

Quand pense-tu svp....

Peut t'on aussi optimiser le code ci-joint, dit moi tes commentaires serai pas vexé parole

Merci a plus tard

Raymond

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lgcol As Long

With Target
If .Address = "$B$3" Then                             'Test si valeur
[D3:O3].ClearContents
If .Value <> "" Then

For Lgcol = 1 To 12
Cells(2, 3 + Lgcol) = Lgcol                           'Affiche les N° des mois

With Cells(3, Lgcol + 3)
.ClearFormats: .NumberFormat = "@"
.Value = Application.WorksheetFunction.Proper(Format(Lgcol & " " & Target.Value, "mmm yy"))

With [D3:O3]
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.Characters(1, 1).Font.ColorIndex = 3
.Characters(1, 1).Font.Bold = True
.Font.Size = 14
.Font.Name = "Arial"
.Font.Italic = True
End With

With .Characters(2, Len(.Value)).Font                 'Retour en mode standard
.ColorIndex = 1
.Bold = False
End With
End With

Next Lgcol
End If
End If
End With
End Sub

re,

Tu es obligé de mettre le format (police, taille, ...) et de laisser les instructions .Clearformat et Numberformat sinon la mise en forme ne veut pas se faire.

Je te redonne le code :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Lgcol As Long

    ' Il faut penser à indenter le code pour que celui-ci soit plus lisible.
    ' Un code lisible est plus facilement adaptable

    If Target.Address = "$B$3" Then                             'Test si valeur
        [D3:O3].ClearContents
        If Target.Value <> "" Then
            For Lgcol = 1 To 12
                Cells(2, 3 + Lgcol) = Lgcol                           'Affiche les N° des mois

                With Cells(3, Lgcol + 3)
                    .ClearFormats: .NumberFormat = "@"
                    .Value = Application.WorksheetFunction.Proper(Format(Lgcol & " " & Target.Value, "mmm yy"))
                    ' With [D3:O3]   --> inutile de mettre cela puisqu'il s'agit d'une boucle sur les 12 colonnes de D à O
                    .VerticalAlignment = xlCenter
                    .HorizontalAlignment = xlCenter
                    .Font.Size = 14
                    .Font.Name = "Arial"
                    .Font.Italic = True
                    ' End With

                    With .Characters(1, 1).Font
                        .ColorIndex = 3
                        .Bold = True
                    End With

                    With .Characters(2, Len(.Value)).Font                 'Retour en mode standard
                        .ColorIndex = 1
                        .Bold = False
                    End With
                End With
            Next Lgcol
        End If
    End If
End Sub

Re Readi

Toutes les bonnes choses ayant une fin, la bonne nouvelle tout fonctionne nickel,

tout comme je le souhaitai, tu m'en vois ravi.

Merci beaucoup de ton aide et de ta patience, je vais pouvoir poursuivre et surement mettre tout ca en oeuvre d'ici peu.

Je te salut bien cordialement et te souhaite un très bon W-end

Au plaisir Raymond

Rechercher des sujets similaires à "soucis formule"