Je voudrais créer une macro qui change la couleur et le contenu des cellules sélectionnées. Je voudrais que le macro s'active après avoir appuyé sur un bouton.
- j'appuie sur le bouton
- je sélectionne une cellule qui devient rouge et le texte A1-1 apparaît dans la cellule
- si j'appuie à nouveau sur la même cellule, elle devient blanche (en cas que je me trompe avec la sélection)
- je sélectionne une deuxième cellule qui devient également rouge et cette fois le texte est A1-2
- je répète cela jusqu'à A1-4
- j'appuie sur le bouton et la macro n'est plus active
Le but:
J'ai un champ de 15 à 21 modules photovoltaïques... Ils vont être connectés en 4 à 7 chaînes de 3 à 4 modules. la dénomination sera A1-1 jusqu'à A1-4, A2-1 jusqu'à A2-4 etc. Le premier chiffre indique la chaîne, le deuxième, le numéro du module dans la chaîne. Je voudrais que la dénomination se fasse automatiquement en indiquant la chaîne avec le bouton (7 boutons). Donc j'appuie sur le bouton et je commence à indiquer l'emplacement des modules sur le surface.
??
Non. Une fois les cellules sélectionnées, un clic sur un bouton peut suffire à traiter toutes les cellules.
Exemple :
MsgBox Selection.Cells.Count
te renverra le nombre de cellules sélectionnées
Après, ce n'est qu'une histoire de traitement de chacune des cellules. Ce genre de boucle qu'on trouve partout à condition de faire un peu de recherche
Dim oRange As Range
For Each oRange In Selection.Cells
Debug.Print oRange.Address
Next
PS : Pense à correctement choisir la catégorie de tes questions
Je te l'ai dit dans ma première réponse : Enregistre une macro pendant que tu le fais à la main et tu obtiendras le code tout fait.
Il te restera à le comprendre et à l'intégrer.
Ici, on peut fournir de l'aide, pas des programmes tout fait. C'est à toi d'apprendre.
J'en suis conscient... mais ça ne marche pas... j'enregistre un macro, je clicke sur plusieurs cellules et cela ne donne rien... j'ai que
Range("N17").Select
donc la cellule sélectionnée lors de l'enregistrement de la macro
Si tu enregistres une macro pendant que tu fais du coloriage de cellule, le code devrait apparaitre.
Office 2007 (comme Vista) sont bourrés de problèmes et notamment au niveau de l'enregistreur de macro : Es-tu à jour des mises à jours ?
Chez moi, quand je sélectionnes des cellules et que j'applique une couleur de fond, j'ai bien le code nécessaire.
la couleur c'est bon... je veux que ma macro s'active en sélectionnant des cellules... par contre je n'arrive pas à exécuter la macro en sélectionnant 2 fois la même cellule... regarde:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B6:O11")) Is Nothing And Range("A1") = 1 Then
Ici quand je sélectionne une autre cellule ca marche... par contre si je click sur la même cellule, il se passe rien... tu sais comment je peux faire cela
Bah oui, il n'y a pas de changement, normal que l'évènement ne se produise pas.
Repense à ce que je t'ai proposé lors de nos premiers échanges : OnKey associé à une touche.
la différence est que ce snippet ajoute ou enlève une chaîne de caractère mise à part cela, c'est une bonne base pour répondre au besoin.
Pour répondre complètement à ton besoin tu devras :
-ajouter la gestion de la couleur de la cellule lors du clic
-modifier et remplacer la constante "marque" par une fonction qui gère le texte à poser dans la cellule active
De plus, une cellule n'est pas un bouton !!! Donc quand elle est active elle active ! cliquer à nouveau dessus ne changera rien ! le seul moyen de faire la correction comme tu le souhaites est soit de sélectionner une autre cellule puis revenir sur la cellule à modifier, soit utilisé un autre événement comme le clic droit de la souris.
Reste que tu devras faire l'effort de comprendre comment utiliser ce code! Note bien que ce que tu veux faire est compliqué pour un débutant et qu'on n'est pas ici pour fournir une prestation clés en main.
Par contre si tu as des questions j'y répondrais volontiers.
La gestion de la couleur et du texte est déjà faite...
Un des problèmes est effectivement comment faire pour clicker sur la cellule active et faire marcher la macro... il n'y a pas une commande pour le "mouse click"?
Jack je vais voir ce que c'est le OnKey
En fait je voudrais utiliser la case d'option... Quand La case 1 est active, chaque click dans la plage A1:P12 fait un formatage des cellules
Avant de dire que ça ne marche pas, as-tu seulement essayé de faire une recherche de OnKey parmi les sources du site ?
Si oui, il te suffit donc de détailler ces sources et de voir où et comment c'est déclaré.
Pour qu'une Sub puisse être appelée, il faut qu'elle soit déclarée en Public
bonjour je voulais faire une macro qui remplace les valeurs contenues dans une colonne par dautres prises dans un fichier texte!!je voudrais si on tape le chemin du fichier sur une cellule ca remplit autamtiquement la colonne.
je voudrais utiliser worksheet_change
comment je pe faire svp
merci
cordialement