Aide pour macro
Résolu/Fermé
angelord62
-
30 mai 2014 à 15:23
angelord62 Messages postés 40 Date d'inscription mardi 15 octobre 2013 Statut Membre Dernière intervention 5 juin 2014 - 2 juin 2014 à 18:36
angelord62 Messages postés 40 Date d'inscription mardi 15 octobre 2013 Statut Membre Dernière intervention 5 juin 2014 - 2 juin 2014 à 18:36
A voir également:
- Aide pour macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
20 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
30 mai 2014 à 16:26
30 mai 2014 à 16:26
Bonjour
Un petit exemple
https://www.cjoint.com/?3EEqAvKECcU
Cdlmnt
Un petit exemple
https://www.cjoint.com/?3EEqAvKECcU
Cdlmnt
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
31 mai 2014 à 22:46
31 mai 2014 à 22:46
merci énormément c'est exactement ce que je voulais! désolé je ne retrouvais plus mon ancien post.
j'espère que ça ne vous a pas pris trop de temps pour faire ça!!
j'espère que ça ne vous a pas pris trop de temps pour faire ça!!
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
31 mai 2014 à 23:34
31 mai 2014 à 23:34
Par contre quand je copie l'image et que je la colle sur mon classeur excel ca ne fonctionne plus
erreur d'éxécution 438
propriétés ou méthode non gérée par cet objet
en cliquant sur débogage la ligne ci dessous est surligné en jaune:
coul = Selection.ShapeRange.Fill.ForeColor.SchemeColor
Je ne sais pas trop si je pouvais copier/coller votre image?
erreur d'éxécution 438
propriétés ou méthode non gérée par cet objet
en cliquant sur débogage la ligne ci dessous est surligné en jaune:
coul = Selection.ShapeRange.Fill.ForeColor.SchemeColor
Je ne sais pas trop si je pouvais copier/coller votre image?
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 00:11
1 juin 2014 à 00:11
en fait je souhaiterai ancrer 3 étoiles comme la votre dans une cellule et ensuite pouvoir dupliquer la cellule sur toute la colonne (chaque cellule avec 3 étoiles)
et qu'au final toutes les étoiles puissent changer de couleur indépendamment.
et qu'au final toutes les étoiles puissent changer de couleur indépendamment.
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 00:12
1 juin 2014 à 00:12
de sorte que quand je sauvegarde le document je puisse conserver les dernières couleurs sélectionnées pour chaque étoile.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
1 juin 2014 à 14:31
1 juin 2014 à 14:31
ça complique pas mal les choses avec des étoiles de type "dessin"
il y a plus simple avec des étoiles de type "caractère", j'ai utilisé la police Monotypesort mais on peut très bien en utiliser une autre
https://www.cjoint.com/?3FboDPfK97J
Cdlmnt
il y a plus simple avec des étoiles de type "caractère", j'ai utilisé la police Monotypesort mais on peut très bien en utiliser une autre
https://www.cjoint.com/?3FboDPfK97J
Cdlmnt
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 18:17
1 juin 2014 à 18:17
Merci vous avez exactement compris ce que je voulais.
m'est il possible de dupliquer cette cellule sur une colonne de x lignes ou faut il changer le code a chaque cellule?
m'est il possible de dupliquer cette cellule sur une colonne de x lignes ou faut il changer le code a chaque cellule?
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 18:21
1 juin 2014 à 18:21
par contre sur la feuille 2 je n'obtiens pas des étoiles mais des "mains pointant l'index vers le bas" peut etre du à ma version d'excel (2010)
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
Modifié par angelord62 le 1/06/2014 à 18:49
Modifié par angelord62 le 1/06/2014 à 18:49
j'ai trouvé uné étoile wingdings 2 avec la touche "é" Celle ci me conviendrait très bien ( si cest vraiment plus compliquer de faire cela avec l'étoile type "dessin". Le désavantage du caractère est que le fichier risque de ne pouvoir être lu si les personnes ne possèdent pas ce caractère.
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
1 juin 2014 à 18:46
1 juin 2014 à 18:46
1. La police Monotypesort a disparu depuis WXP, mais puisque tu en as récupéré une autre pas de problème.
2. Pour que les nouvelles lignes soient prises en compte, tu modifies dans le code la valeur de la constante plage ici
Const plage = "A2:C4"
tu remplaces A2:C4 par la plage où se trouvent les étoiles
2. Pour que les nouvelles lignes soient prises en compte, tu modifies dans le code la valeur de la constante plage ici
Const plage = "A2:C4"
tu remplaces A2:C4 par la plage où se trouvent les étoiles
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
Modifié par ccm81 le 1/06/2014 à 18:58
Modifié par ccm81 le 1/06/2014 à 18:58
3. Pour les étoiles "dessin", il te faut affecter une macro à chacune d'elle, macro qui lancera le changement de couleur, vois le code des 6 premières dans Module 1
Si tu en as beaucoup, ça risque d'être lourd
Si tu en as beaucoup, ça risque d'être lourd
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 19:13
1 juin 2014 à 19:13
ok je vais me rabattre sur les caracteres alors! j'ai déja ton code intégré à mon document et récupérer les codes couleurs pour pouvoir utiliser un jaune visible sur fond blanc! ca a l'air de fonctionner nickel!!
un grand merci
un grand merci
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 19:32
1 juin 2014 à 19:32
par contre jsute une dernière chose quand je passe d'excel à openoffice cela semble ne plus fonctionner. Avez vous une idée?
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
1 juin 2014 à 19:35
1 juin 2014 à 19:35
VBA est un langage microsoft et n'est pas reconnu par open office
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 19:47
1 juin 2014 à 19:47
est il possible d'affecter 2 codes a la cellule afin que cela puisse fonctionner aussi bien sur exel que sur open office? ou cela va til creer une sorte de "conflit"?
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
1 juin 2014 à 19:56
1 juin 2014 à 19:56
Je ne connais pas Open Office mais je doute que ça puisse marcher. Le plus sûr/propre est d'écrire une version pour chaque logiciel
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
1 juin 2014 à 19:57
1 juin 2014 à 19:57
tres bien! encore merci!!!
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
Modifié par ccm81 le 1/06/2014 à 20:18
Modifié par ccm81 le 1/06/2014 à 20:18
Je viens de tester sur Libre Office, les macros de la feuille "Caractères" sont bien reconnues et ont l'air de bien fonctionner
Celles de la feuille "dessin" semblent ne pas fonctionner, il faut certainement ré-assigner les macros aux étoiles
Celles de la feuille "dessin" semblent ne pas fonctionner, il faut certainement ré-assigner les macros aux étoiles
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
2 juin 2014 à 11:00
2 juin 2014 à 11:00
Voici le code tel qu'il se présente dans openoffice basic sous openoffice 4.1.0 :
Quand j'éxécute la macro pas de message d'erreur mais rien ne se passe
Rem Attribute VBA_ModuleType=VBADocumentModule
Sub Feuil1
Rem Option Explicit
Rem
Rem Const plage = "E:G"
Rem Const cbr = 53
Rem Const car = 16
Rem Const cor = 44
Rem Const cbl = 2
Rem
Rem Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Rem Dim coul As Long
Rem If Intersect(Range(plage), Target) Is Nothing Then Exit Sub
Rem coul = Target.Font.ColorIndex
Rem Select Case coul
Rem Case cbr: coul = car
Rem Case car: coul = cor
Rem Case cor: coul = cbl
Rem Case cbl: coul = cbr
Rem End Select
Rem Target.Font.ColorIndex = coul
Rem Range("A1").Select
Rem End Sub
Rem
End Sub
Quand j'éxécute la macro pas de message d'erreur mais rien ne se passe
Rem Attribute VBA_ModuleType=VBADocumentModule
Sub Feuil1
Rem Option Explicit
Rem
Rem Const plage = "E:G"
Rem Const cbr = 53
Rem Const car = 16
Rem Const cor = 44
Rem Const cbl = 2
Rem
Rem Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Rem Dim coul As Long
Rem If Intersect(Range(plage), Target) Is Nothing Then Exit Sub
Rem coul = Target.Font.ColorIndex
Rem Select Case coul
Rem Case cbr: coul = car
Rem Case car: coul = cor
Rem Case cor: coul = cbl
Rem Case cbl: coul = cbr
Rem End Select
Rem Target.Font.ColorIndex = coul
Rem Range("A1").Select
Rem End Sub
Rem
End Sub
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
2 juin 2014 à 11:33
2 juin 2014 à 11:33
Je ne peux pas te répondre, je n'ai pas open office
As tu accepté l'exécution des macros?
Tu dois avoir quelque chose comme Outils/Option/Securité/Securite des macros qui te permet de le faire
Avec mes vieux souvenirs des vieux Basic, REM en début de ligne met la ligne en commentaire donc inhibe la ligne (c'est l'équivalent de l'apostrophe en VBA)
Le mieux est d'ouvrir un nouveau sujet sur le forum OpenOffice et d'y exposer ton problème
Bon courage
As tu accepté l'exécution des macros?
Tu dois avoir quelque chose comme Outils/Option/Securité/Securite des macros qui te permet de le faire
Avec mes vieux souvenirs des vieux Basic, REM en début de ligne met la ligne en commentaire donc inhibe la ligne (c'est l'équivalent de l'apostrophe en VBA)
Le mieux est d'ouvrir un nouveau sujet sur le forum OpenOffice et d'y exposer ton problème
Bon courage
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
2 juin 2014 à 18:22
2 juin 2014 à 18:22
Merci j'ai réussi à trouver mon code pour openoffice:
Option Explicit
Const plage = "E1:G1000"
Const cbr = 16749838
Const car = 13421772
Const cor = 16776960
Const cbl = 16777215
Sub Test(oEv)
Dim oCell as Object,oDoc as Object, oFeuille as Object, oPlage as Object, oResult as Object
Dim coul As Long
oCell = oEv
oDoc = thiscomponent
oFeuille = oDoc.currentController.activeSheet
oPlage = oFeuille.getcellrangebyname(plage)
oResult = oCell.queryIntersection(oPlage.RangeAddress)
If oResult.RangeAddressesAsString <> "" Then
If oCell.String = "A" Then
Coul = oCell.CharColor
Select Case Coul
Case cbr
coul = car
Case car
coul = cor
Case cor
coul = cbl
Case cbl
coul = cbr
End Select
End If
oCell.CharColor = coul
End If
End Sub
Il ya juste une chose un peu génante : quand je double clique sur la cellule comme sur excel, cela me fait "entrer" dans la cellule (comme pour écrire du texte) alors que sur excel la macro se réalise et me renvoie sur la sélection de la cellule A1
Option Explicit
Const plage = "E1:G1000"
Const cbr = 16749838
Const car = 13421772
Const cor = 16776960
Const cbl = 16777215
Sub Test(oEv)
Dim oCell as Object,oDoc as Object, oFeuille as Object, oPlage as Object, oResult as Object
Dim coul As Long
oCell = oEv
oDoc = thiscomponent
oFeuille = oDoc.currentController.activeSheet
oPlage = oFeuille.getcellrangebyname(plage)
oResult = oCell.queryIntersection(oPlage.RangeAddress)
If oResult.RangeAddressesAsString <> "" Then
If oCell.String = "A" Then
Coul = oCell.CharColor
Select Case Coul
Case cbr
coul = car
Case car
coul = cor
Case cor
coul = cbl
Case cbl
coul = cbr
End Select
End If
oCell.CharColor = coul
End If
End Sub
Il ya juste une chose un peu génante : quand je double clique sur la cellule comme sur excel, cela me fait "entrer" dans la cellule (comme pour écrire du texte) alors que sur excel la macro se réalise et me renvoie sur la sélection de la cellule A1
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
2 juin 2014 à 18:28
2 juin 2014 à 18:28
A la fin de la procedure en VBA il y a l'instruction
Range("A1").Select
qui envoie sur la cellule A1
A toi de trouver l'equivalent en OOo
Range("A1").Select
qui envoie sur la cellule A1
A toi de trouver l'equivalent en OOo
angelord62
Messages postés
40
Date d'inscription
mardi 15 octobre 2013
Statut
Membre
Dernière intervention
5 juin 2014
1
2 juin 2014 à 18:36
2 juin 2014 à 18:36
ok!merci encore pour tout!! sinon j'y serai encore ^^