Erreur de syntaxe bva

Bonjour,

Pour la colonne "Titulaire/Interim" de la feuille " test " ...

Vers la fin de la macro "Planning" ...

                ft.Range("A" & ln & ":B" & ln).Interior.Color = fd.Range("A" & i).DisplayFormat.Interior.Color
                ft.Range("D" & ln & ":D" & ln).Interior.Color = fd.Range("A" & i).DisplayFormat.Interior.Color
            End If

Dans la feuille "pers" > à moins d'une erreur de ma part > il n'y a pas de colonne "Titulaire/Interim" ...

        fp.Range("A" & ln & ":B" & ln).Interior.Color = fd.Range("A" & i).DisplayFormat.Interior.Color

Pour la sauvegarde > il y a des tonnes d'exemples sur le forum > je vais tenter de t'en adapter une ...

ric

Ah d'accord, je cherchais du côté des colonnes supprimées lors du report...désolé

Bonjour,

Je cite : ... est ce possible de créer un bouton "enregistrer" pour faire une copie valeur de ce fichier dans un dossier portant le n° de semaine par exemple ...

Si l'on fait une copie Valeur > je présume donc que ... sans macros non plus > est-ce bien cela ??

ric

C est plus les formules qui ne doivent pas être recopiees. Les macros dérangent moins je pense.

Bonjour,

Un essai de copie de sauvegarde ...

À partir du dossier d'origine du fichier de travail > un sous-dossier est créé > dont le nom sera : "Semaine_xx" > où xx représente le numéro de la semaine en cours ...

Si le sous-dossier existe > le code passe droit à la création (merci à excel-malin pour le code) ...

Une copie du fichier de travail est créée dans le sous-dossier (.xlsm) ...

Cette copie est ensuite sauvegardée en fichier sans macro (.xlsx) ...

Dans ce dernier fichier (.xlsx) > la feuille "données" est copiée puis collée valeurs > il y a enregistrement et fermeture ...

Suppression de la copie du fichier (.xlsm) dans le sous-dossier de sauvegarde ...

S'il y a d'autres sauvegardes du même fichier dans la même semaine > le fichier de sauvegarde est écrasé ...

ric

Bonjour,

Ca a l air de tres bien fonctionner, je te remercie pour ton aide, vraiment

Bonjour,

Je suis bien heureux que tu sois content > ou je suis bien content que tu sois heureux > je ne sais trop > je te laisse le choix ...

Être prudent avec la copie de travail (celle des formules et macros) > en faire des copies régulièrement > car tout ce code n'est pas nécessairement "blindé" ...

...

ric

Bonjour,

Alors je suis désolé, j ai le sentiment d'être vraiement pas bon...:(

Je dois inclure une ligne dans la feuille "Test" donc le 1er Client doit apparaitre en ligne 3 et non 2....j 'ai essayé de modifier quelques données je ne vois pas laquelle donne la consigne de copier en ligne 2...

Et pour les boutons msgbox, j'ai bien compris comment les déplacer d'une feuille à une autre mais impossible d'en créer un (sur un nouveau fichier). Meme en regardant sur internet je ne vois pas.

Peux tu m aider ?( encore)

Bonjour,

Regarde le fichier joint > voir si cela te convient pour la ligne supp en feuille "Test" ...

À propos d'ajouter des boutons > menu "Développeur" > "Insérer" > choisi le "Bouton de commande ...." dans la section "Contrôles ActiveX" > la section "Contrôle ActiveX" a des objets plus faciles à personnaliser (à mon avis personnel et confidentiel) ...

Donc, clique sur "Bouton de commande" > le curseur de la souris devient un + > clique maintenu de la souris à l'endroit désiré > glisse vers la droite et vers le bas aux dimensions désirées ... Magiiieeeeeee ...

Wouulla ... l'on a le bouton > clique le bouton "Mode Création" dans le menu pour l'enfoncer, si ce n'est déjà fait > clique droit sur le bouton nouvellement créé afin d'obtenir l'accès à différentes options ...

Si tu choisis "Visualiser le code" > VBE s'ouvre en présentant la macro vide liée à ce bouton ...

Ouupppssss! > le nom n'est pas très significatif "Private Sub CommandButtonX_Click()" > X représente le numéro de bouton suivant de libre dans cette feuille ...

Retourne cliquer droit sur le bouton > Propriété > à la première ligne "(Name)" > remplace "CommandButtonX " par un nom plus significatif > perso, pour les commandbutton, je commence par CmD_ > Exemple : CmD_Copie_Facture ...

Remarque que tu n'es pas obligé de placer ton code dans cette macro > tu peux placer ton code dans une autre macro > exemple : dans le Module1 > Sub Copier_Mes_Factures() > puis dans la macro "Private Sub Cmd_Copie_Facture_Click()" > tu inscris > Call Module1.Copier_Mes_Factures afin de créer un appel de la suite du traitement désiré ...

Je te laisse regarder tout cela > si tu as des questions > je reste dispo ...

ric

merci :)

ca à l aire de fonctionner mais uniquement si il n y a pas de cellules fusionnées

Bonjour,

Vrai et pas vrai >> Client1,2,3,4,5 sont des cellules fusionnées ...

Le souci provient probablement de ces 2 blocs > l'un au bas de "Planning" et l'autre au bas de "PlanningPers" ...

        ' bloc servant à désélectionner la plage
    ft.Cells(1, 2).Copy
    ft.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False

Lors du traitement à la fin des copies dans les plannings > une plage de cellules reste sélectionnée > n'étant pas directement sur la feuille > l'on ne peut pas faire la sélection d'une cellule pour désélectionner cette plage ...

J'ai donc ajouté ces bouts de code pour copier / coller valeur A2 en A1 > entrant en conflit avec ces fusions tant désirées ...

Mets en commentaire ou supprime ces 2 blocs > dès lors la fusion fusera sans fuser ni fustiger ...

ric

Bonjour

désolé j ai tardé à repondre :)

Alors je trouve bien le bloc en question dans "PlanningPers" mais pas du tout dans la macro "Planning"...et c'est celle ci qui me gêne :(

Bonjour,

au bas de Planning

    ft.Cells.FormatConditions.Delete

'''''''        ' bloc servant à désélectionner la plage
'''''''    ft.Cells(1, 2).Copy
'''''''    ft.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
'''''''    Application.CutCopyMode = False

    Call PlanningPers
End Sub

au bas de PlanningPers

    fp.Cells.FormatConditions.Delete

''''''        ' bloc servant à désélectionner la plage
''''''    fp.Cells(1, 2).Copy
''''''    fp.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
''''''    Application.CutCopyMode = False

    Call formule
End Sub

Remarque que le souci ne provient peut-être pas de là ...

Si ce ne sont pas les sources de ton souci > Est-ce que tu pourrais me décrire ce que tu fais pour reproduire le souci ?

ric

Bonjour

Effectivement ca fonctionne, j avais dû modifier la macro precedemment car je n avais deja plus le nloc dans la macro planning...mais voila, ca fonctionne :)

La marco pour enregistrement me plait, j ai essayé de l adapté sur un fichier pour enregistrement quotidien dans un même sous-dossier en xlxs mais bien entendu, ca ne fonctionne pas.

Quels changements doivent etre apportes ? je n'ai pas besoin de créer un sous dssier mais simplement de copier le fichier complet dans un sous dossier deja existant....la macro que nous utilisons me parait plus complexe que necessaire.

Je travail dessus et revient vers toi si j y arrive...ou non

Merci

Bonjour,

J'essai de mettre une bordure bas et un bordure haute sur les lignes non vide. J ai fais ca mais ca ne fonctionne pas :

With Sheets("Données").Range("A3:P100") 'Sélection des plages où doit s'appliquer la MeF
.FormatConditions.Add Type:=xlExpression, Formula1:="$A3<>"""
With .FormatConditions(1)
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
End With

Tu vois pourquoi ?

Bonjour,

À placer à la suite des autres MFC ...

    With Sheets("données").Range("A3:P100")    'Sélection des plages où doit s'appliquer la MeF
        'Ajoute une condition (Vrai lorsque la cellule est non vide)
        .FormatConditions.Add Type:=xlExpression, Formula1:="=$A3<>"""""

        With .FormatConditions(7)
            'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
            With .Borders(xlTop)
                .LineStyle = xlContinuous
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With .Borders(xlBottom)
                .LineStyle = xlContinuous
                .TintAndShade = 0
                .Weight = xlThin
            End With
        End With
    End With

ric

Merci, mais ca met en erreur cette commande au debut de la macro :

Sheets("Données").Cells.FormatConditions.Delete

Bonjour,

 Sheets("Données").Cells.FormatConditions.Delete est au début de la macro "mfc" > c'est pour supprimer les mfc avant de les recréer ...

C'est là depuis le début dans ton code premier code que tu nous as soumis > je ne vois pas en quoi elle peut poser problème ...

Est-ce que tu fermes régulièrement ta machine ou si tu ne fais que la mettre en veille ? > ce qui finit par occasionnellement par créer des soucis.

ric

J ai eu exactement la meme réflexion, je ne vois pas pourquoi cette ligne bloquerait.

Le PC est eteint tous les soirs.

Il y a aussi cette ligne en surbrillance :

.TintAndShade = 0

Rechercher des sujets similaires à "erreur syntaxe bva"