> Tous les forums > Forum Bureautique
 Petit macro qui ne fonctionne pas
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
eliot raymondo
  Posté le 01/11/2018 @ 19:40 
Aller en bas de la page 
Petit astucien

Bonsoir a tous ,forum bonsoir

Sous Windows 10 et Excel 2007

La première macro me sert a récupérer la couleur de "Intérior" d'une cellule de mon choix.

pour restituer la même couleur vers une autre cellule de mon choix.

-----------

J'ai voulu faire de même pour la couleur de "Font" police texte sur le même principe de la première macro

Mais ça ne fonctionne pas, j'ai fait pleins d'essais et recherche sur le net, mais rien trouver, ou j'ai mal chercher.

Si quelqu'un svp peux me résoudre ce qui ne va pas, ça serai bien gentil, merci pour votre aide et votre savoir partager.

Bonne soirée a tous.

Cdlt Ray

--- Macro qui fonctionne

Sub Récupération_Couleur_Interior()
Dim c As Range, Couleur As Long

Set c = Application.InputBox("Choisissez la cellule source", Type:=8)
If Not c Is Nothing Then Couleur = c.Interior.Color

Set c = Application.InputBox("Choisissez la cellule cible", Type:=8)
If Not c Is Nothing Then c.Interior.Color = Couleur
End Sub

--- Macro qui ne fonctionne pas

Sub Récupération_Couleur_Font()
Dim c As Range, Couleur As Long

Set c = Application.InputBox("Choisissez la cellule source", Type:=8)
If Not c Is Nothing Then Couleur = c.Font.Color

Set c = Application.InputBox("Choisissez la cellule cible", Type:=8)
If Not c Is Nothing Then c.Font.Color = Couleur
End Sub



Modifié par eliot raymondo le 02/11/2018 07:48
Publicité
m@rina
 Posté le 02/11/2018 à 03:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonsoir,

Ta macro fonctionnement parfaitement ! :)

Evidemment il faut que la cellule source ne soit pas vide pour voir le résultat... mais ça marche très bien.

ferrand
 Posté le 02/11/2018 à 04:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir, Salut M@rina !

Sub Récupération_Couleur_Interior()
Dim c As Range, Couleur As Long

Toutes les procédures sont publiques par défaut (sauf déclarées Private, et sauf évènementielles par définition), tu peux donc te dispenser de "Public", Sub... ou Public Sub cela revient au même.

Tu peux mettre tes déclarations sur une même ligne de code, alors inutile d'en combiner deux lignes de codes sur la même ligne physique. Et la couleur est une donnée de type Long, tu peux donc typer ta variable.

Et il n'y a aucune raison que ça ne fonctionne pas, pour la couleur de police ou le fond de la cellule. Mais tu devrais tester que ta sélection par Application.InputBox ne contient qu'une seule cellule, car plusieurs avec des couleurs différentes cela posera quelques problèmes. De même, il ne faudrait pas chercher à prélever une couleur de police si la cellule contient du texte en plusieurs couleurs... On peut évidemment tester si la couleur ne renvoit pas une valeur Null...

Autre détail à connaître, si la cellule source n'est pas colorée, Color va renvoyer la couleur du fond de la fenêtre, soit blanc en principe, ce qui conduirait à colorer ta cellule cible en blanc.

Cordialement.

eliot raymondo
 Posté le 02/11/2018 à 08:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut M@rina

Salut ferrand,

Merci pour vos réponses, c'est gentil a vous.

J'ai modifier le code comme conseillé dans le premier post# afin d'éviter un encombrement du fil en cours.

Donc après les modifications faites, je suis passer aux essais qui sont hélas pas bons.

La première macro reste ok et fonctionne très bien.

Pour le deuxième ça ne fonctionne pas.

-----------Tu me dit ------------

-Mais tu devrais tester que ta sélection par Application.InputBox ne contient qu'une seule cellule, car plusieurs avec

des couleurs différentes cela posera quelques problèmes. De même, il ne faudrait pas chercher à prélever une couleur de police

si la cellule contient du texte en plusieurs couleurs... On peut évidemment tester si la couleur ne renvoit pas une valeur Null...

-------------------------

J'ai regarder Application.InputBox que je ne suis jamais servi et ça ne me dit pas grand chose que je comprenne, pour l'instant.

PS: J'ai tester quelques cellules au hasard et me retourne la valeur -4142 et si je colorie en Blanc ça me retourne la valeur 2

Comment svp modifier ce petit code afin que cela fonctionne correctement.

Merci pour ton aide et bon W-end.

Cdlt Ray



Modifié par eliot raymondo le 02/11/2018 08:20
ferrand
 Posté le 02/11/2018 à 14:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Es-tu sûr que tu testes le même code ? Tes valeurs me semblent plutôt renvoyées par ColorIndex et non Color... (Pas le temps de regarder plus, je dois partir).

Cordialement.



Modifié par ferrand le 02/11/2018 14:28
eliot raymondo
 Posté le 02/11/2018 à 14:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut ferrand,

Merci pour la réponse,

Je viens de tester a nouveau la Macro2 en doute en mettant un MSGBOX

J'écris un mot dans une cellule "Coucou" en Rouge sur fond Blanc (Interior)

--- Je sélectionne cellule "Source" et je valide par ok MsgBox dit couleur=255

--- Je sélectionne cellule "Cible" et je valide par ok MsgBox dit couleur=255

Donc ce qui corresponds a la couleur du texte "Coucou" dans la cellule avec le fond (interior) blanc

Mais le mot "Coucou" ne s'affiche pas dans la cellule "Cible" ni la couleur.

Merci pour ton aide bonne après midi et bon W-end

Cdlt Ray

ferrand
 Posté le 02/11/2018 à 22:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

C'est normal, ta macro affecte la couleur, rien d'autre. Ecris quelque chose dans la cellule cible !

eliot raymondo
 Posté le 03/11/2018 à 11:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut ferrand,

Merci pour la réponse,

J'ai écrit un mot dans la cellule cible "mama" en noir, fond blanc

j'ai choisi dans une autre cellule un mot écrit "hello" écrit en rouge, fond blanc

j'ai copier dans la cellule cible ce mot MAIS cela m'a juste changer la couleur du mot "mama" qui était en noir est passer en rouge.

Voila pour les essais, merci pour ton aide.

Bonne journée et bon W-end a toi.

Cdlt Ray

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Les soldes d'hiver 2025
SOLDES -1 -%
Boîtier PC mini tour Aerocool Hexform G v2 à 29,99 €
29,99 € 50 € -40%
@Cdiscount
10 € offerts dès 50 € d'achats sur une sélection de produits sur Amazon
-10 € -1 -40%
@Amazon
PC portable 14 pouces Asus VivoBook S14 (FHD IPS, Core i5-1335U, 16 Go RAM, SSD 1 To, Windows 11) à 539,99 €
539,99 € 799,99 € -33%
@Amazon
Caméra de sécurité d'intérieur Blink Mini à 25,99 €
25,99 € 35 € -26%
@Amazon
SSD PNY CS1030 500 Go (NMVe M.2, 2000 Mo/s) à 29,99 €
29,99 € 49,99 € -40%
@Cdiscount

Sujets relatifs
Dernière partie macro ne fonctionne pas
Petit soucis sur petite macro
macro pour copie données ne fonctionne pas
fichier macro personnel qui ne fonctionne pas
Macro qui ne fonctionne plus
macro Excel ... petit coup de pouce
macro office2003 fonctionne plu dans office2007
petit problème formule ou macro
petit problème avec ma macro (débutant!!)
Macro
Plus de sujets relatifs à Petit macro qui ne fonctionne pas
 > Tous les forums > Forum Bureautique