[Résolu][Calc]Obliger type de caractère
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
[Résolu][Calc]Obliger type de caractère
Bonjour,
J'ai un tableau dont les cellules se remplisse à l'aide d'une macro
Y a-t-il un moyen pour forcer l'écriture des cellules du tableau: ex: le nom en majuscule et le prénom, uniquement la première lettre en majuscule
Voici ma boite de dialogue (enfin une partie) : Et voici la propriété du TextField Dois-je passer par une ligne particulière de programmation?
Existe-t’il une formule pour le tableur?
J'ai un tableau dont les cellules se remplisse à l'aide d'une macro
Y a-t-il un moyen pour forcer l'écriture des cellules du tableau: ex: le nom en majuscule et le prénom, uniquement la première lettre en majuscule
Voici ma boite de dialogue (enfin une partie) : Et voici la propriété du TextField Dois-je passer par une ligne particulière de programmation?
Existe-t’il une formule pour le tableur?
Dernière modification par Daniel60 le 25 oct. 2017 05:16, modifié 1 fois.
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- RespOOnsable forum
- Messages : 9252
- Inscription : 28 août 2010 08:45
Re: [Calc]Obliger type de caractère
Bonjour,
Avant de poster une nouvelle question, il nous serait agréable que vous donniez suite au fil précédemment initié : Champs liste
notamment en précisant la solution retenue et en ajoutant le balisage [Résolu] si c'est le cas.
C'est une question de courtoisie pour les gens qui vous ont répondu et consacré bénévolement de leur temps. Notre forum est plus lisible avec ce balisage comme vous avez pu vous en rendre compte en le parcourant.
Merci de votre collaboration
Avant de poster une nouvelle question, il nous serait agréable que vous donniez suite au fil précédemment initié : Champs liste
notamment en précisant la solution retenue et en ajoutant le balisage [Résolu] si c'est le cas.
C'est une question de courtoisie pour les gens qui vous ont répondu et consacré bénévolement de leur temps. Notre forum est plus lisible avec ce balisage comme vous avez pu vous en rendre compte en le parcourant.
Merci de votre collaboration
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Voila micmac, j'ai clos le précédent message comme demandé
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Obliger type de caractère
Bonjour
Tu pourrais jeter un œil sur le suprême de Loopingss [Calc] Exécuter des fonctions par programmation notamment pour les fonctions MAJUSCULE et NOMPROPRE.
Un exemple ici entre autres.
A+
Tu pourrais jeter un œil sur le suprême de Loopingss [Calc] Exécuter des fonctions par programmation notamment pour les fonctions MAJUSCULE et NOMPROPRE.
Un exemple ici entre autres.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc]Obliger type de caractère
Pas besoin de macro, il suffit d'utiliser le type de contrôle "champ masque" : https://wiki.openoffice.org/wiki/FR/Doc ... formulaire
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Merci piaf
J'ai ajouter cette fonction dans ma macro
Sachant que les nom en majuscule se trouvent dans la colonne D (D6 à D200)
Rien ne se passe. Les noms restent inchangés
J'ai ajouter cette fonction dans ma macro
Code : Tout sélectionner
'Mise en majuscule des cellules
Function MiseEnMajuscule(oTexte As String) As String
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
MiseEnMajuscule = oCalc.callFunction("PROPER", array(oTexte))
End Function
Rien ne se passe. Les noms restent inchangés
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Merci Dude
J'ai donc sectionné ma cellule, puis Format Cellule et ai défini le champs comme indiqué
Voici un imprime écran Mais rien ne se passe le nom reste en minuscule
J'ai donc sectionné ma cellule, puis Format Cellule et ai défini le champs comme indiqué
Voici un imprime écran Mais rien ne se passe le nom reste en minuscule
La modération vous a écrit: Merci de ne pas poster plusieurs messages à la suite, si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.
En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Obliger type de caractère
Re
Un petit exemple au plus simple.Pour tester, tu déclenches la macro main, tu tapes le nom et le prénom en minuscule dans le dialogue et tu appuis sur le bouton OK.
A+
Un petit exemple au plus simple.
Code : Tout sélectionner
Sub Main
Dim oDlg As Object, oDoc as Object, maFeuille as Object
oDoc = thisComponent
maFeuille = oDoc.Sheets.getByName("Feuille1")
DialogLibraries.LoadLibrary("Standard")
oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
If oDlg.Execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
oDlg.getControl("txtNom").Text = UCase(oDlg.getControl("txtNom").Text)
maFeuille.getCellRangeByName("A2").String = oDlg.getControl("txtNom").Text
oDlg.getControl("txtPrenom").Text = NomPropre(oDlg.getControl("txtPrenom").Text)
maFeuille.getCellRangeByName("B2").String = oDlg.getControl("txtPrenom").Text
End If
oDlg.dispose()
End Sub
Function NomPropre(oTexte As String) As String
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
NomPropre = oCalc.callFunction("PROPER", array(oTexte))
End Function
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Merci piaf, mais trot compliqué à insérer dans ma macro
Ta macro est utile pour deux noms, pas pour l'ensemble d'un tableau
J'ai plusieurs cellules à mettre en majuscule et d'autre avec la première lettre en majuscule
Je pensai automatiser tout cela avec ma boite de dialogue,
Finalement il serait plus simple de formater directement les cellules dans le tableau pour arriver à mon souhait
J'épluche les différents sujets a la recherche de ma demande
Ta macro est utile pour deux noms, pas pour l'ensemble d'un tableau
J'ai plusieurs cellules à mettre en majuscule et d'autre avec la première lettre en majuscule
Je pensai automatiser tout cela avec ma boite de dialogue,
Finalement il serait plus simple de formater directement les cellules dans le tableau pour arriver à mon souhait
J'épluche les différents sujets a la recherche de ma demande
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Obliger type de caractère
Re
Ni le dialogue ni quoi que ce soit d'ailleurs à part des copies d'écran
Tant que l'on ne saura pas ce que tu veux obtenir et avec quel moyen il sera difficile de t'apporter des réponses satisfaisantes.
Pas vu ta macro donc !!!Daniel60 a écrit :mais trot compliqué à insérer dans ma macro
Ni le dialogue ni quoi que ce soit d'ailleurs à part des copies d'écran
Tant que l'on ne saura pas ce que tu veux obtenir et avec quel moyen il sera difficile de t'apporter des réponses satisfaisantes.
Daniel60 a écrit :Ta macro est utile pour deux noms, pas pour l'ensemble d'un tableau
A+Piaf a écrit :Un petit exemple au plus simple.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- InconditiOOnnel
- Messages : 839
- Inscription : 10 janv. 2009 08:05
Re: [Calc]Obliger type de caractère
Bonjour,
en attendant ton fichier exemple, une macro mettant une majuscule à la première lettre de la cellule D6:
A plus.
en attendant ton fichier exemple, une macro mettant une majuscule à la première lettre de la cellule D6:
Code : Tout sélectionner
Sub Main
MiseEnMajuscule("D6")
End Sub
Function MiseEnMajuscule(NomDeCellule as String) As String
Dim MonDoc as Object, oCalc as Object, oTexte as String
MonDoc = ThisComponent
oTexte = MonDoc.Sheets(0).getCellRangeByName(NomDeCellule).String
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
MonDoc.Sheets(0).getCellRangeByName(NomDeCellule).String = oCalc.callFunction("PROPER", array(oTexte))
End Function
A jour de LibreOffice et de Ubuntu
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Bonjour Joel75
Voici donc ma macro avec l'insertion de la tienne.
Voici donc ma macro avec l'insertion de la tienne.
Code : Tout sélectionner
REM ***** BASIC *****
Option Explicit
Const dateFormat = "dd/mm/yy"
Const findAll = "+"
Const findEmpty = "-"
Const firstColumn = 1 'première colonne (B)
Const lastColumn = 16 'dernière colonne (Q)
Const firstRow = 5 'première ligne (6)
Const maxRow = 9999 'dernière ligne (10000)!
Const ddf = 9 'date (J)
Const dde = 5 'date (F)
Const dateControl="com.sun.star.awt.UnoControlDateField"
Const listControl="com.sun.star.awt.UnoControlListBox"
Dim theSheet As Object
Dim theDialog As Object
Dim isDisplay As Boolean
Dim theControls(0 To lastColumn) As Object
Dim theDates() As Object
Dim theLists() As Object
Dim searchColumn%
Dim searchString$
Dim searchRange As Object
Dim searchDescriptor As Object
Dim searchResult As Object
Dim foundRow As Integer
Sub NewFileOnClick(event)
Dim s As String
s=Mid(event.source.model.name,3) 'Voir Module Notes
theSheet=ThisComponent.sheets.GetByName(s)
theDialog=GetSearchDialog
InitDialog
theControls(0).visible=false
theDialog.Execute
End Sub
Sub InitDialog
Dim control As Object, column As String
For Each control In theDialog.controls
column=control.model.name
If Val(column)>0 Or Left(column,1)="0" Then theControls(Val(column))=control
Next control
theDates=Array(theControls(ddf))
Dim a() As String
a=Split(theControls(0).text,"*")
theControls(0).text=a(0)+findAll+a(1)+findEmpty+a(2)
End Sub
Sub ReadFile(row%)
Dim control As Object, column As Integer, cell As Object
For column=firstColumn To lastColumn
cell=theSheet.GetCellByPosition(column,row)
control=theControls(column)
'on distingue les contrôles éditables et les listes de choix
If control.SupportsService(listControl) Then
control.SelectItem cell.string,true
ElseIf control.SupportsService(dateControl) Then
ReadDate cell,control
Else
control.text=cell.string
End If
Next column
End Sub
Sub EmptyDialog
Dim control As Object
Dim column As Integer
For column=firstColumn To lastColumn
With theControls(column)
If .SupportsService(listControl) Then
.SelectItem " ",true
Else
.text=""
End If
End With
Next column
End Sub
Function FoundAt(row)
Dim cell As Object
cell=theSheet.GetCellByPosition(searchColumn,row)
Select Case searchString
Case findAll
FoundAt=true
Case findEmpty
FoundAt=(cell.String="")
Case Else
FoundAt=Instr(cell.String,searchString)
End Select
End Function
Sub WriteToCurrentRow
WriteToRowNumber foundRow
End Sub
Sub WriteToNewRow
Dim row
row=GetNewRow
theSheet.GetCellByPosition(0,row).value=GetNewFileNumber
WriteToRowNumber row
End Sub
Sub WriteToRowNumber(n As Integer)
Dim control As Object, column As Integer, cell As Object, theDate As Long
For column=firstColumn To lastColumn
cell=theSheet.GetCellByPosition(column,n)
control=theControls(column)
'on distingue les types de contrôle
With control
If .SupportsService(listControl) Then
cell.string=.SelectedItem
ElseIf .SupportsService(dateControl) Then
WriteDate control,cell
Else
cell.string=.text
End If
End With
Next column
theDialog.EndExecute
End Sub
'-----------------------------------------------------------------------
Sub Main
MiseEnMajuscule("D6")
End Sub
Function MiseEnMajuscule(NomDeCellule as String) As String
Dim MonDoc as Object, oCalc as Object, oTexte as String
MonDoc = ThisComponent
oTexte = MonDoc.Sheets(0).getCellRangeByName(NomDeCellule).String
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
MonDoc.Sheets(0).getCellRangeByName(NomDeCellule).String = oCalc.callFunction("PROPER", array(oTexte))
End Function
'-------------------------------------------------------------------------------------------------------------------
Sub ReadDate(cell As Object, control As Object)
control.text=cell.string
End Sub
Sub WriteDate(control As Object, cell As Object)
dim s As String
s=control.text
If s="" Then
cell.string=""
Else
cell.value=CDate(Join(Split(s,"/"),"."))
End If
End Sub
Sub DateControlToCell(control As String, cell As Object)
Dim strDate
strDate=control'.text
If strDate="" Then
cell.string=""
Else
strdate=Join(Split(strDate,"/"),".")
cell.value=CDate(strDate)
End If
End Sub
Sub CallSearchDisplay
SetSearchDisplay(True)
End Sub
Function GetNewRow As Integer
GetNewRow=theSheet.GetCellByPosition(0,3).value+firstRow
End Function
Function GetNewFileNumber As Integer
GetNewFileNumber=theSheet.GetCellByPosition(0,4).value+1
End Function
Function GetSearchDialog
DialogLibraries.loadLibrary("Standard")
GetSearchDialog = CreateUnoDialog(DialogLibraries.Standard.FileEditionDialog01)
End Function
Sub DeselectSpace(event As Object)
With event.source
If .selectedItem=" " Then .SelectItem " ",false
End With
End Sub
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- InconditiOOnnel
- Messages : 839
- Inscription : 10 janv. 2009 08:05
Re: [Calc]Obliger type de caractère
Bonjour,
Dans l'attente d'une réponse efficace....
une série de macros, c'est bien, mais sans document exemple pour pouvoir tester (en particulier, on ne sait rien de ta boîte de dialogue qui parait centrale), sans savoir ce qui fonctionne et ce que tu n'arrives pas à faire, il est bien difficile de t'aider davantage (Piaf a même pris le temps de fabriquer un exemple complet sur lequel tu ne t'es apparemment pas penché sérieusement).joel275 a écrit :en attendant ton fichier exemple
Dans l'attente d'une réponse efficace....
A jour de LibreOffice et de Ubuntu
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Voila le tableau après épuration Confidentialité Professionnelle oblige
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Obliger type de caractère
Bonjour
Pour utiliser la fonction nompropre sur tous les contrôles de texte.
Si la fonction ne dois être utilisée que pour certaines colonnes, tu dois les définir dans le Else.
A+
Ce serait quand même plus courtois de citer l'auteur.Daniel60 a écrit :Voici donc ma macro
Code : Tout sélectionner
For column=firstColumn To lastColumn
cell=theSheet.GetCellByPosition(column,n)
control=theControls(column)
'on distingue les types de contrôle
With control
If .SupportsService(listControl) Then
cell.string=.SelectedItem
ElseIf .SupportsService(dateControl) Then
WriteDate control,cell
Else
.Text = NomPropre(.text)
cell.string = .text
End If
End With
Next column
theDialog.EndExecute
End Sub
'-----------------------------------------------------------------------
Function NomPropre(oTexte As String) As String
Dim oCalc
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
NomPropre = oCalc.callFunction("PROPER", array(oTexte))
End Function
Si la fonction ne dois être utilisée que pour certaines colonnes, tu dois les définir dans le Else.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Merci Piaf, j'ai didouillé mon document en copiant des macro sur mes anciens documents, je ne puis donc vous dire qui en est le créateur, peut-être pourriez-vous me renseigner?
J'ai donc copier votre macro mais rien ne se passe les nom restent en minuscule
J'ai donc copier votre macro mais rien ne se passe les nom restent en minuscule
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Obliger type de caractère
Re
A+
Pas vu la modification dans ton fichier.Daniel60 a écrit :J'ai donc copier votre macro mais rien ne se passe les nom restent en minuscule
A mon avis il s'agit d'alhazred.Daniel60 a écrit :qui en est le créateur, peut-être pourriez-vous me renseigner?
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Merci piaf
voici la macro que je viens d'ajouter[/code]
Et voici mon tableau Peut-être y a(t(il un formatage particulier des cellule à faire?
Pour le créateur OUI en effet il me semble que ce soit alhazred
voici la macro que je viens d'ajouter
Code : Tout sélectionner
[code]'-----------------------------------------------------------------------
'ECRIRE LE NOM DANS LA COLONNE D en MAJUSCULES
Function NomPropre(oTexte As String) As String
Dim oCalc
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
NomPropre = oCalc.callFunction("PROPER", array(oTexte))
End Function
'-------------------------------------------------------------------------------------------------------------------
Et voici mon tableau Peut-être y a(t(il un formatage particulier des cellule à faire?
Pour le créateur OUI en effet il me semble que ce soit alhazred
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- Membre enthOOusiaste
- Messages : 467
- Inscription : 10 nov. 2012 17:05
Re: [Calc]Obliger type de caractère
La fonction Calc PROPER ne permet de mettre que la première lettre des mots de la chaîne de caractères en majuscule.
Voir l'aide Wiki :
PROPER
returns text with words in lowercase after a capitalised first letter.
Syntax:
PROPER(text)
returns text with the first letter of each word capitalised, and other letters in lower case. More specifically, the first letter and any letter that follows a non-letter are capitalised.
Example:
PROPER("gooD morNINg")
returns Good Morning.
Pour mettre une chaîne de caractères en majuscule, il est nécessaire d'utiliser la fonction Calc UPPER.
Voir l'aide Wiki :
UPPER
Converts a text string to uppercase.
Syntax:
UPPER(text)
returns text with all characters converted to upper case.
Example:
UPPER("Good Morning")
returns GOOD MORNING
Voir l'aide Wiki :
PROPER
returns text with words in lowercase after a capitalised first letter.
Syntax:
PROPER(text)
returns text with the first letter of each word capitalised, and other letters in lower case. More specifically, the first letter and any letter that follows a non-letter are capitalised.
Example:
PROPER("gooD morNINg")
returns Good Morning.
Pour mettre une chaîne de caractères en majuscule, il est nécessaire d'utiliser la fonction Calc UPPER.
Voir l'aide Wiki :
UPPER
Converts a text string to uppercase.
Syntax:
UPPER(text)
returns text with all characters converted to upper case.
Example:
UPPER("Good Morning")
returns GOOD MORNING
LibreOffice 6.1.3.2 x64 / AOO 4.1.5 (x86) sous Windows 8.1 (x64)
Java 8.x (x64 et x86), Firefox, Thunderbird,....
“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
Java 8.x (x64 et x86), Firefox, Thunderbird,....
“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Bonjour Thierry
Merci pour l'explication
J'ai donc modifier la macro
Mais rien ne se passe dans la cellule D6
Merci pour l'explication
J'ai donc modifier la macro
Code : Tout sélectionner
Sub Main
MiseEnMajuscule("D6")
End Sub
Function MiseEnMajuscule(NomDeCellule as String) As String
Dim MonDoc as Object, oCalc as Object, oTexte as String
MonDoc = ThisComponent
oTexte = MonDoc.Sheets(0).getCellRangeByName(NomDeCellule).String
oCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
MonDoc.Sheets(0).getCellRangeByName(NomDeCellule).String = oCalc.callFunction("UPPER", array(oTexte))
End Function
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- Membre enthOOusiaste
- Messages : 467
- Inscription : 10 nov. 2012 17:05
Re: [Calc]Obliger type de caractère
Que veut dire "rien ne se passe" ?
Si dans la cellule D6, j'ai le texte "titi", après exécution de la procédure Main, dans la cellule D6, j'obtiens bien "TITI".
La fonction MiseEnMajuscule fonctionne bien.
Ceci avec les différentes versions de LO et AOO de ma signature.
Après modifications de ton fichier voilà les résultats obtenus en tapant dans tous les champs texte du dialogue que des minuscules.
Si dans la cellule D6, j'ai le texte "titi", après exécution de la procédure Main, dans la cellule D6, j'obtiens bien "TITI".
La fonction MiseEnMajuscule fonctionne bien.
Ceci avec les différentes versions de LO et AOO de ma signature.
Après modifications de ton fichier voilà les résultats obtenus en tapant dans tous les champs texte du dialogue que des minuscules.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 6.1.3.2 x64 / AOO 4.1.5 (x86) sous Windows 8.1 (x64)
Java 8.x (x64 et x86), Firefox, Thunderbird,....
“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
Java 8.x (x64 et x86), Firefox, Thunderbird,....
“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
-
- Membre cOOnfirmé
- Messages : 243
- Inscription : 05 mars 2014 07:09
Re: [Calc]Obliger type de caractère
Mercy Thierry
Par contre pour mettre plusieurs cellule en majuscule je dois modifier la macro?
Par contre pour mettre plusieurs cellule en majuscule je dois modifier la macro?
Code : Tout sélectionner
Sub Main
MiseEnMajuscule("D6")
End Sub
De cette manière
[code]Sub Main
MiseEnMajuscule("D6","C6","I6")
End Sub
J'utilise Open Office version 4.1.1. et le système d'exploitation Windows 7 Professionnel 64 bit
-
- Membre enthOOusiaste
- Messages : 467
- Inscription : 10 nov. 2012 17:05
Re: [Calc]Obliger type de caractère
Il suffit de modifier la procédure suivante en intégrant un select case :
Code : Tout sélectionner
Sub WriteToRowNumber(n As Integer)
Dim control As Object, column As Integer, cell As Object, theDate As Long
''----------------------------------------------------------------------------------------------------------------
For column=firstColumn To lastColumn
cell=theSheet.GetCellByPosition(column,n)
control=theControls(column)
'on distingue les types de contrôle
With control
If .SupportsService(listControl) Then
cell.string=.SelectedItem
ElseIf .SupportsService(dateControl) Then
WriteDate control,cell
Else
Select Case column
Case 2, 3, 8 ' Colonnes C, D, I
cell.string = MiseEnMajuscule(.text)
Case Else
cell.string = NomPropre(.text)
End Select
End If
End With
Next column
theDialog.EndExecute
End Sub
LibreOffice 6.1.3.2 x64 / AOO 4.1.5 (x86) sous Windows 8.1 (x64)
Java 8.x (x64 et x86), Firefox, Thunderbird,....
“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
Java 8.x (x64 et x86), Firefox, Thunderbird,....
“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Obliger type de caractère
Re
J'apprécie toujours autant la mauvaise fois
Quel est l'intérêt d'utiliser la fonction Calc UPPER alors qu'il suffit d'utiliser directement la fonction UCase du basic.
A+
J'apprécie toujours autant la mauvaise fois
Dans son fichier il me semble également qu'il avait donné des consignes à respecter pour qu'une adaptation puisse fonctionner. Ce qui n'est pas le cas de ton fichier.Daniel60 a écrit :Pour le créateur OUI en effet il me semble que ce soit alhazred
Quel est l'intérêt d'utiliser la fonction Calc UPPER alors qu'il suffit d'utiliser directement la fonction UCase du basic.
Daniel60 a écrit :Par contre pour mettre plusieurs cellule en majuscule
Piaf a écrit :Si la fonction ne dois être utilisée que pour certaines colonnes, tu dois les définir dans le Else
Et donc en fonction de la colonne utiliser l'une ou l'autre fonction.Daniel60 a écrit : le nom en majuscule et le prénom, uniquement la première lettre en majuscule
Ajout : Encore une fois à la bourre |
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64