Macro et formatage conditionnel sous CALC

Marko -  
 Marko -
Bonjour,
Je possède un fichier avec une macro sous calc qui n'est pas de moi. Cette macro permet lorsqu'on clique dessus d'inscrire (suivant le bouton) dans des cellules sélectionnées des caractères et colore via un formatage conditionnel.
Cette macro est insérée dans un calendrier me permettant d'effectuer un prévisionnel de planning.
Le problème est que je ne connais pas le language Basic et ne comprends donc rien ou presque à la macro que j'ai récupéré sur le net (d'où de nombreuses colonnes masquées). Egalement j'avais réussi à créer un bouton ANNULER qui me permettait d'annuler la dernière action effectuée.
Voilà, je suis perdu et j'ai beau tenté de chercher les solution sur le net, je ne réussi qu'à me perdre encore plus. Je vous demande donc de l'aide. Je peux vous fournir le fichier à la demande si vous le souhaitez.
Par avance merci !!!

Configuration: Macintosh / Safari 13.1
A voir également:

6 réponses

yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 563
 
Bonjour

une autre proposition avec un bouton effacer au lieu de "annuler"
formatage conditionnel uniquement sur 1ère sem janvier

Inspiré d'ici
1
yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 563
 
Bonjour
Un exemple de classeur dépersonnalisé serait à mettre sur Cjoint pour avoir les meilleures réponses possibles.
Comment déposer sur Cjoint.fr
0
Marko
 
Voici le lien du fichier. Merci d'avance pour le coup d'oeil. Sincèrement.
https://www.cjoint.com/c/JEpqdHqzSPB
0
yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 563
 
Bonsoir

la macro fonctionne, la dernière ligne du code
oCell.string = label 

récupere le nom du bouton
pour le voir :
affichage >barre d'outil >controle de formulaire
icône ébauche (équere)
clik droit sur le bouton>propriété



pour la mise en forme conditionnelle
0
Marko
 
OK je vais tester ça dès que je peux. Merci beaucoup !!! Je clôture le sujet si tout est OK et avec un grand merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Marko
 
Effectivement tu as raison, je n'arrivais même pas à la comprendre mais avec ton aide et une recherche sur Google j'ai pu déchiffrer.
Reste deux hic , c'est lorsque je sélectionne plusieurs cellules cela ne fonctionne pas. Je dois le faire cellule par cellule, ce qui est assez fastidieux. Existe t il une variante permettant cela ?
Deuxième problème: j'ai bien des lignes de commande qui permettent l'annulation des actions précédentes :

Function MajColor(oCell, sBtn As String, oDescriptor) As String
Dim aRet() As String, aCell() As String, sCell As String, sRet As String
Dim oSheetData As Object, oCellData As Object, oFound
oSheetData = thisComponent.Sheets.getByName("Donnees")

With oCell.CellAddress
IF .Column < 6 OR .Column > 400 OR .Row < 4 OR .row > 205 Then
aRet = split(oCell.AbsoluteName,".$")
MajColor = aRet(1) : Exit Function
End IF
End With

IF sBtn ="ANNUL" Then
oCell.CellBackColor = -1
oCell.CharColor = -1
oCell.String = ""
Else
oFound = oSheetData.findFirst(oDescriptor)
IF Not IsNull(oFound) Then
aCell = split(oFound.AbsoluteName, ".$A$")
sCell = "$B$" & aCell(1)
oCellData = oSheetData.getCellRangeByName(sCell)
oCell.CellBackColor = oCellData.CellBackColor
oCell.CharColor = oCellData.CharColor
oCell.String = oCellData.String
End If
End If
' MajColor = ""
End Function

Cependant lorsque je créé un bouton et lui assigne la macro, cela m'écrit "ANNUL" dans la case respectant la première instruction.

Désolé du retard de ma réponse, les courses le chien , le petit, le ménage... ;-)
0
Marko
 
Superbe !!! Merci beaucoup !!! Bon je n'ai plus qu'à me trouver "Basic pour les nuls" ou un traducteur !!!
Merci à tous !!
0