Probléme d'optimisation en VBA

Bonjour la communauté,

je viens vers vous car je rencontre des soucis sur un fichier qui me tient bien à cœur.

https://mon-partage.fr/f/FqPJ6r8i/

Dans un premier temps, lorsque je veux copier des cellules et les coller sur un autre onglet, les couleurs des cellules copiées ne sont pas bonnes une fois collées.

Ensuite , si possible, je souhaite automatiser une opération ( cela est bien plus explicite en ouvrant le fichier qu'en le racontant dans ce post) je m'excuse mais je ne sais pas comment mieux exprimer l'opération autrement....

Une bouteille à la mer.....

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour, comment se fait la copie des cellules?
    1. La copie doit se faire de la sélection J1:L2 de l'onglet ''ACAjaccio'' à l'onglet ''TEST'' de A1:C2.

      Il n'y a pas la conservation des couleurs quand tu colles.

      Pourquoi ?
    2. J'ai essayé Ctrl+C, ensuite Ctrl + V.

      Je me demande si le problème ne vient pas de la macro xxxxx à:

      ub = UBound(t)
      For i = 1 To ub - 1
      x = t(i, 1)
      For j = i + 1 To ub
      If t(j, 2) = x Then
      Cells(i, "J").Resize(, 3).Cut Range("O1").Offset(, n) 'couper-coller
      Cells(j, "J").Resize(, 3).Cut Range("O2").Offset(, n) 'couper-coller
      n = n + 3
      Exit For
      End If
    3. Contributeur
      @Valerie54001je me demande si le problème ne vient pas du fait que tu utilises du formatage conditionnel.
    4. Si tu le dis !

      Je ne trouve pas la faille ..... je compte sur toi :)
  2. Bonsoir la communauté,

    est ce que quelqu'un pourrait me dépatouiller, svp ?

    Valérie
    1. Contributeur
      Bonjour,

      Il n'y a pas la conservation des couleurs quand tu colles.

      Pour ce problème il faut mettre la couleur manuellement. Car je ne sais pas comment les couleurs ont été mises, certainement par macros?

      voir ci-dessous la marche à suivre (je pense que tu connais)



      et tu verras que cela fonctionne!

      1. Bonjour le Pivert,

        Manuellement bien sûr que cela fonctionne :)

        Le but est que cela soit bon du premier coup sans manipulation autre de ma part pour un gain de temps et d’efficacité.

        une autre idée .....
    2. Bonjour,

      Le but est que cela soit bon du premier coup
      Certes, certes, mais comprends pas du tout comment ca marche votre truc.

      Vous pensez que cela peut venir du sub xxxxxx, probleme: sur quelle feuille doit-il agir??

      Vu qu'il y a des MFC en veux tu en voila, pas facile de s'y retrouver

      Une chose est sure un copier/coller ne recopie pas la ou les couleurs d'une MFC
      1. Bonsoir f894009,

        Je te l'accorde mais un oeil averti verras certainement plus clair que moi !

        Dans l'onglet 20172018 , des datas d'entrée sont de A:F . DE G:M c'est les informations utiles ici.

        Lorsque la macro XXXXX se lance , elle trie en fonction des noms de chaque lignes sur les onglets correspondants aux noms dans un premier temps.
        Ensuite elle superpose les matches aller et retour en ligne A et B pour chaque onglet.

        Là ou je pense que le problème se pose est lorsque XXXXX est lancée ,elle verifie si le nombre de la colonne K est supérieur ou égale à L alors le texte de la cellule en colonne I sera jaune.
        Si le nombre de la colonne L est supérieur ou égale à K alors le texte de la cellule en colonne J sera jaune.
        SI K=L alors pas de couleur pour I et J.
        Donc aprés avoir affecté des cellules de couleurs jaunes après le triage sur chaque onglet. Je n'arrive pas copier/coller le texte et la couleur de celle-ci sur l'onglet TEST.

        Voilà tu sais tout !

        SI Une chose est sure un copier/coller ne recopie pas la ou les couleurs d'une MFC comment devrais-je m'y prendre?
      2. Bonjour,

        Ben, je regarde la chose avec les deux oeils, ouverts je suppose......
      3. Re,

        Comment est faite la copie cellule J:L

        Lorsque la macro XXXXX se lance
        Par miracle et quelle feuille doit etre selectionnee
      4. Bonjour f894009,

        C'est la copie de I:J avec une MFC si K>L alors la copie de I sera avec fond jaune
        si L>K alors la copie de J sera avec fond jaune
        si K=L alors la copie de I et de J se fera avec fond blanc ( origine )

        Concernant le miracle :) bien qu'ironique :
        11/05/2018 ACAjaccio Niort 2 2 9 ( match aller )

        Les feuilles sélectionnées seront celles qui contiendront les textes en I et J donc les onglets ACAjaccio et Niort en ligne 1

        Ensuite la macro xxxxxx trouvera
        28/07/2017 Niort ACAjaccio 0 0 9 ( match retour ) qui seront donc en ligne 2 des feuilles Niort et ACAjaccio.

        Je suis passionnée de foot et de stats particuliéres.

        Merci de suivre l'affaire cela m'encourage même si parfois nous sommes dans un brouillard londonien.
      5. Bonjour,

        Je suis passionnée de foot
        Peut-Être...

        Ensuite la macro xxxxxx trouvera
        Je repete: par quel miracle idem, dans le code y a rien qui indique que c'est la feuille 28/07/2017 qui est concerné (en un seul mot)

        C'est la copie de I:J avec une MFC si K>L alors la copie de I sera avec fond jaune
        Vous expliquez ce que doit être le copier/coller mais pas par quel moyen. A vous le ballon
    3. Bonjour,

      Dans ta macro xxxxx, au lieu d'utiliser la commande " ActiveSheet.Paste "
      utilise plutôt la commande " Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
      , SkipBlanks:=False, Transpose:=False "

      qui correspond à un collage de texte + mise en forme.
      Est-ce que ça répond à ta question ?
      1. Bon jour,

        Marchera pas, la couleur vient d'une MFC
      2. Bonjour Sophie,

        Désolé de répondre si tardivement.....

        En changeant les 2 lignes j'ai :
        '' Range("J1", Cells(1, Columns.Count)).SpecialCells(xlCellTypeConstants, 1).ColumnWidth = 4''
        en surbrillance.

        Je sens que l'on est proche :)