Menu

Probléme d'optimisation en VBA

Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
- - Dernière réponse : Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
- 19 avril 2019 à 17:01
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.....
Afficher la suite 

Votre réponse

5 réponses

Messages postés
7732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
460
0
Merci
bonjour, comment se fait la copie des cellules?
Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
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 ?
yg_be
Messages postés
7732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
460 > Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
quelle technique utilises-tu pour faire la copie?
Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
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
yg_be
Messages postés
7732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
460 > Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
je me demande si le problème ne vient pas du fait que tu utilises du formatage conditionnel.
Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
Si tu le dis !

Je ne trouve pas la faille ..... je compte sur toi :)
Commenter la réponse de yg_be
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
0
Merci
Bonsoir la communauté,

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

Valérie
Commenter la réponse de Valerie54001
Messages postés
5990
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 avril 2019
421
0
Merci
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!

Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
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 .....
Commenter la réponse de cs_Le Pivert
Messages postés
14233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2019
1329
0
Merci
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
Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
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.
f894009
Messages postés
14233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2019
1329 -
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
yg_be
Messages postés
7732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
460 > f894009
Messages postés
14233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2019
-
je crois deviner que la macro n'existe pas encore, et que la demande est: "comment, en VBA, copier des cellules de telle façon que les cellules de destination héritent du format qui résulte de la MFC sur les cellules d'origine?".
f894009
Messages postés
14233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2019
1329 -
Bonjour yg_be,

C'est ce que je pense aussi mais je voudrai qu'elle le demande clairement et avec des explications un peu plus tangibles car j'ai parcouru le code et y a aucune notion de nom de feuille etc....
Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
yg_be tu as raison, c'est le résultat attendu !

C'est grâce à ces forums que nous avançons chacun à notre façon.
Merci pour ta compréhension.
Commenter la réponse de f894009
0
Merci
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 ?
f894009
Messages postés
14233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2019
1329 -
Bon jour,

Marchera pas, la couleur vient d'une MFC
Valerie54001
Messages postés
61
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
19 avril 2019
-
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 :)
Commenter la réponse de Sophie