Petit code a transformer en Macro Sub
vieuxray
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour a tous et toutes, forum bonjour,
Ce petit code fonctionne très bien, il entoure la bordure de la cellule active en Rouge, pratique dans de grands tableaux.
Serait t'il possible svp de transformer le code ci-dessous en une Macro "Sub Curseur_Rouge()"
Merci a vous pour votre aide, bon W-end a vous.
Cdlt Ray
Ce petit code fonctionne très bien, il entoure la bordure de la cellule active en Rouge, pratique dans de grands tableaux.
Serait t'il possible svp de transformer le code ci-dessous en une Macro "Sub Curseur_Rouge()"
Merci a vous pour votre aide, bon W-end a vous.
Cdlt Ray
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '*** Curseur Rouge entoure bordure cellule active If Not Intersect(Target, Feuil1.Range("A3:J200")) Is Nothing Then If Target.Row < 3 Or Target.CountLarge > 1 Then Exit Sub With Me On Error Resume Next .Shapes("Curseur").Visible = True '*** Cursor '*** Variable (Cursor "True" =Visible) sinon (Cursor "False" =Non Visible) If Err <> 0 Then With .Shapes.AddShape(msoShapeRectangle, 6, 6, 8, 6) .Name = "Curseur" .Fill.ForeColor.RGB = vbRed .Line.Visible = True End With End If End With End If On Error GoTo 0 With Me.Shapes("Curseur") .Left = Target.Left 'Gauche .Top = Target.Top 'Haut/Bas .Width = Target.Width 'Longueur .Height = Target.Height 'Hauteur End With End Sub
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Petit code a transformer en Macro Sub
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
9 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peux-tu poster ton code en utilisant la coloration syntaxique?
par ailleurs, "transformer le code ci-dessous en une Macro" peut vouloir dire mille choses différentes.
explique-nous plutôt ce que tu souhaites faire ensuite avec le nouveau code que tu demandes: comment tu vas l'utiliser, et ce que souhaites qu'il réalise.
par ailleurs, "transformer le code ci-dessous en une Macro" peut vouloir dire mille choses différentes.
explique-nous plutôt ce que tu souhaites faire ensuite avec le nouveau code que tu demandes: comment tu vas l'utiliser, et ce que souhaites qu'il réalise.
Salut yg_be,
Merci pour ta réponse,
Je comprends pas, j'ai pourtant poster le code entre les balises, bon on va dire un coup raté, désolé.
Je souhaiterai transformer ce code afin de pouvoir l'utiliser dans d'autres programmes.
Mais actuellement dans mon programme, il arrive que j'ai n'ai pas besoin du petit rectangle rouge qui s'affiche.
Avec une Macro Sub comme ça je peux l'appeler comme bon me semble.
J'ai trouver ce code sur le net, il entoure la bordure de la cellule active en Rouge, pratique dans de grands tableaux.
On pourrai baptiser la Macro "Sub Curseur_Rouge()" par Exemple
Merci a toi pour ton aide, bon W-end a toi.
Cdlt Ray
Merci pour ta réponse,
Je comprends pas, j'ai pourtant poster le code entre les balises, bon on va dire un coup raté, désolé.
Je souhaiterai transformer ce code afin de pouvoir l'utiliser dans d'autres programmes.
Mais actuellement dans mon programme, il arrive que j'ai n'ai pas besoin du petit rectangle rouge qui s'affiche.
Avec une Macro Sub comme ça je peux l'appeler comme bon me semble.
J'ai trouver ce code sur le net, il entoure la bordure de la cellule active en Rouge, pratique dans de grands tableaux.
On pourrai baptiser la Macro "Sub Curseur_Rouge()" par Exemple
Merci a toi pour ton aide, bon W-end a toi.
Cdlt Ray
'*** CURSEUR ROUGE RECTANGULAIRE Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Feuil1.Range("A3:J200")) Is Nothing Then If Target.Row < 3 Or Target.CountLarge > 1 Then Exit Sub With Me On Error Resume Next .Shapes("Curseur").visible = Cursor 'Variable (Cursor "True" =Visible) sinon (Cursor "False" =Non Visible) If Err <> 0 Then With .Shapes.AddShape(msoShapeRectangle, 6, 6, 8, 6) .Name = "Curseur" .Fill.ForeColor.RGB = vbRed .Line.visible = True End With End If End With End If On Error GoTo 0 With Me.Shapes("curseur") .Left = Target.Left 'Gauche .Top = Target.Top 'Haut/Bas .Width = Target.Width 'Longueur .Height = Target.Height 'Hauteur End With
toujours pas de balise de code, relis bien l'article...
ceci est une réponse possible à ta demande imprécise:
ceci est une réponse possible à ta demande imprécise:
Sub Curseur_Rouge() Dim rg As Range, ws As Worksheet Set ws = ActiveSheet Set rg = ActiveCell On Error Resume Next ws.Shapes("Curseur").Visible = True If Err <> 0 Then ws.Shapes.AddShape(msoShapeRectangle, 6, 6, 8, 6).Name = "Curseur" ws.Shapes.AddShape(msoShapeRectangle, 6, 6, 8, 6).Fill.ForeColor.RGB = vbRed ws.Shapes.AddShape(msoShapeRectangle, 6, 6, 8, 6).Line.Visible = True End If On Error GoTo 0 ws.Shapes("Curseur").Left = rg.Left 'Gauche ws.Shapes("Curseur").Top = rg.Top 'Haut/Bas ws.Shapes("Curseur").Width = rg.Width 'Longueur ws.Shapes("Curseur").Height = rg.Height 'Hauteur End Sub
Re yg_be
J'ai bien mis le code entre les balises, je ferai attention a l'avenir, j'ai cliquer sur la flèche qui pointe vers le bas cela m'a donner une liste de langage mais je mets lequel pour le VBA ???
Ceci dit, merci pour le code modifier, mais quand je lance la macro le curseur apparait bien dans la cellule active mais quand je déplace le curseur redevient normal sans couleur rouge.
Je pensais donc peut être une macro pour lancer le fonctionnement du curseur
et une autre macro pour arrêter le fonctionnement du curseur.
Un peu comme un chronomètre.
Merci pour ton aide
Cdlt Ray
J'ai bien mis le code entre les balises, je ferai attention a l'avenir, j'ai cliquer sur la flèche qui pointe vers le bas cela m'a donner une liste de langage mais je mets lequel pour le VBA ???
Ceci dit, merci pour le code modifier, mais quand je lance la macro le curseur apparait bien dans la cellule active mais quand je déplace le curseur redevient normal sans couleur rouge.
Je pensais donc peut être une macro pour lancer le fonctionnement du curseur
et une autre macro pour arrêter le fonctionnement du curseur.
Un peu comme un chronomètre.
Merci pour ton aide
Cdlt Ray
"basic" pour VBA.
prends ton temps et décris précisément ce que tu voudrais réaliser. ne parle pas trop vite de macro et de programme, concentre-toi sur le fonctionnement que tu souhaites.
le code que je t'a fourni fait exactement ce que tu as demandé: la même chose que le code de départ. cela indique bien que ta demande était imprécise.
prends ton temps et décris précisément ce que tu voudrais réaliser. ne parle pas trop vite de macro et de programme, concentre-toi sur le fonctionnement que tu souhaites.
le code que je t'a fourni fait exactement ce que tu as demandé: la même chose que le code de départ. cela indique bien que ta demande était imprécise.
Re yg_be,
Je souhaiterai que lorsque je lance la macro que la cellule active soit entouré de sa bordure en rouge et se déplace sur l'écran normalement mais en rouge.
Et si il arrive que je n'ai pas ou plus besoin de l'affichage de la cellule active en rouge pouvoir désactiver la macro et que le déplacement de la cellule active sur l'écran redevienne normal.
Comme je t'ai dit un peu comme un chrono que l'on démarre et arrête quand on n'a plus besoin.
Voila, je me suis appliquer et fait de mon mieux pour être le plus précis possible.
Merci a toi et bonne après midi.
Cdlt Ray
Je souhaiterai que lorsque je lance la macro que la cellule active soit entouré de sa bordure en rouge et se déplace sur l'écran normalement mais en rouge.
Et si il arrive que je n'ai pas ou plus besoin de l'affichage de la cellule active en rouge pouvoir désactiver la macro et que le déplacement de la cellule active sur l'écran redevienne normal.
Comme je t'ai dit un peu comme un chrono que l'on démarre et arrête quand on n'a plus besoin.
Voila, je me suis appliquer et fait de mon mieux pour être le plus précis possible.
Merci a toi et bonne après midi.
Cdlt Ray
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re
Merci pour ta réponse,
Donc si j'ai bien compris
Je copie les codes que tu viens de faire dans module ça ok
Puis je reprends mon programme original, je copie la macro Sub Curseur_Rouge() dans un module
Puis je vais dans "Worksheet_SelectionChange" de mon programme original
et je copie " .Visible = BRvisible" après .Width = Target.Width 'Longueur
Pour l'utilisation je place le code Sub voirBR() ou j'ai besoin
Puis si je souhaite l'arrèter je place le code Sub cacherBR() là ou je n'ai plus besoin
Merci beaucoup pour les codes, j'attends ta réponse afin d'éviter des manipulations inutiles.
et je modifie.
Cdlt Ray
Merci pour ta réponse,
Donc si j'ai bien compris
Je copie les codes que tu viens de faire dans module ça ok
Puis je reprends mon programme original, je copie la macro Sub Curseur_Rouge() dans un module
Puis je vais dans "Worksheet_SelectionChange" de mon programme original
et je copie " .Visible = BRvisible" après .Width = Target.Width 'Longueur
Pour l'utilisation je place le code Sub voirBR() ou j'ai besoin
Puis si je souhaite l'arrèter je place le code Sub cacherBR() là ou je n'ai plus besoin
Merci beaucoup pour les codes, j'attends ta réponse afin d'éviter des manipulations inutiles.
et je modifie.
Cdlt Ray
oublie Sub Curseur_Rouge(), c'était une réponse inutile à une question imprécise.
pour le reste, je pense que tu m'as compris.
tu avais parlé de nouvelles macros, tu n'avais pas mentionné que tu allais appeller les nouvelles sub ailleurs: on verra ce que cela va donner.
quand tu écris "je lance la macro", je comprends que c'est toi qui va le faire. si un programme appelle une sub, c'est autre chose. le vocabulaire permet de se faire comprendre.
pour le reste, je pense que tu m'as compris.
tu avais parlé de nouvelles macros, tu n'avais pas mentionné que tu allais appeller les nouvelles sub ailleurs: on verra ce que cela va donner.
quand tu écris "je lance la macro", je comprends que c'est toi qui va le faire. si un programme appelle une sub, c'est autre chose. le vocabulaire permet de se faire comprendre.
Re Salut yg_be,
Obliger de sortir un moment, mais bon voila, j'ai fait les essais ça fonctionne très bien.
'Il faudrait tester si les deux colonnes (E et F) ne sont plus coloriés en Rouge pour
placer le code "Call voirBR()" de réactivation du curseur rouge.
Si colonne (E et F) ne sont plus en rouge alors "Call voirBR()" = réactivation
Sinon faire en sorte de ne pas réactivé tant qu'une des colonnes (E ou F) comporte encore une cellule rouge.
Je n'ai pas trouvé d'autres idées a moins d'une recopie automatique mais la c'est une autre histoire.
Dit moi svp , si l'idée est bonne svp
Merci a toi bonne soirée déjà
Cdlt Ray
Obliger de sortir un moment, mais bon voila, j'ai fait les essais ça fonctionne très bien.
'Il faudrait tester si les deux colonnes (E et F) ne sont plus coloriés en Rouge pour
placer le code "Call voirBR()" de réactivation du curseur rouge.
Si colonne (E et F) ne sont plus en rouge alors "Call voirBR()" = réactivation
Sinon faire en sorte de ne pas réactivé tant qu'une des colonnes (E ou F) comporte encore une cellule rouge.
Je n'ai pas trouvé d'autres idées a moins d'une recopie automatique mais la c'est une autre histoire.
Dit moi svp , si l'idée est bonne svp
Merci a toi bonne soirée déjà
Cdlt Ray
re yg_be
Comment svp je peux tester les deux colonnes (E et F) après c'est bon, je t'embêtes plus, merci
bonne soirée a toi
'Il faudrait tester si les deux colonnes (E et F) ne sont plus coloriés en Rouge pour
placer le code "Call voirBR()" de réactivation du curseur rouge.
Si colonne (E et F) ne sont plus en rouge alors "Call voirBR()" = réactivation
Sinon faire en sorte de ne pas réactivé tant qu'une des colonnes (E ou F) comporte encore une cellule rouge.
Comment svp je peux tester les deux colonnes (E et F) après c'est bon, je t'embêtes plus, merci
bonne soirée a toi
'Il faudrait tester si les deux colonnes (E et F) ne sont plus coloriés en Rouge pour
placer le code "Call voirBR()" de réactivation du curseur rouge.
Si colonne (E et F) ne sont plus en rouge alors "Call voirBR()" = réactivation
Sinon faire en sorte de ne pas réactivé tant qu'une des colonnes (E ou F) comporte encore une cellule rouge.
Salut yg_be,
Merci pour ta réponse,
Je comprends bien mais ce n'ai pas toujours facile d'écrire ce que l'on souhaite et toi de bien comprendre ce que je voudrais réaliser, surtout quand la demande est mal formuler, désolé.
Donc, une fois terminer la recopie d'une ou des formules qui se sont trouvé effacer dans les colonnes (E et F).
Je souhaiterais svp effectuer un test sur les colonnes (E et F).
Je voudrais faire ré apparaitre le curseur rouge en étant sur que les colonnes (E et F) ne comporte plus de cellules colorisés en rouge.
Ma pensée Ex:
Tant qu'une des deux colonnes a encore une ou des cellules colorisé en Rouge alors on ne ré active PAS le curseur rouge.
Si les deux colonnes n'ont plus aucune cellule colorisé en Rouge alors ON peux activé le curseur rouge.
Merci pour ton aide, un bon dimanche a toi.
Cdlt Raymond
Merci pour ta réponse,
Je comprends bien mais ce n'ai pas toujours facile d'écrire ce que l'on souhaite et toi de bien comprendre ce que je voudrais réaliser, surtout quand la demande est mal formuler, désolé.
Donc, une fois terminer la recopie d'une ou des formules qui se sont trouvé effacer dans les colonnes (E et F).
Je souhaiterais svp effectuer un test sur les colonnes (E et F).
Je voudrais faire ré apparaitre le curseur rouge en étant sur que les colonnes (E et F) ne comporte plus de cellules colorisés en rouge.
Ma pensée Ex:
Tant qu'une des deux colonnes a encore une ou des cellules colorisé en Rouge alors on ne ré active PAS le curseur rouge.
Si les deux colonnes n'ont plus aucune cellule colorisé en Rouge alors ON peux activé le curseur rouge.
Merci pour ton aide, un bon dimanche a toi.
Cdlt Raymond
essayons: nous avons un ordinateur et une personne. appelons-les "Excel" et "Ray". aucun des deux ne s'appelle "je".
Excel est programmé pour réagir d'une certaine façon à ce que fait Ray.
Tu voudrais changer cette façon de réagir.
Je pense avoir compris que:
1° pour le moment, Excel met toujours une bordure rouge autour de la cellule active
2° tu voudrais que, si une des cellules des colonnes E ou F est colorée en rouge, Excel ne mette plus de bordure rouge autour de la cellule active.
ai-je bien compris?
si oui, il changer la programmation de Excel, pour qu'il vérifie si il y a du rouge en E ou F, et décide, en fonction de cela, d'afficher ou pas la bordure rouge.
on s'éloigne de plus en plus de ta demande initiale.
Excel est programmé pour réagir d'une certaine façon à ce que fait Ray.
Tu voudrais changer cette façon de réagir.
Je pense avoir compris que:
1° pour le moment, Excel met toujours une bordure rouge autour de la cellule active
2° tu voudrais que, si une des cellules des colonnes E ou F est colorée en rouge, Excel ne mette plus de bordure rouge autour de la cellule active.
ai-je bien compris?
si oui, il changer la programmation de Excel, pour qu'il vérifie si il y a du rouge en E ou F, et décide, en fonction de cela, d'afficher ou pas la bordure rouge.
on s'éloigne de plus en plus de ta demande initiale.