[Résolu][Calc] Dupliquer une ligne dans un tableau
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 lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
[Résolu][Calc] Dupliquer une ligne dans un tableau
Bonjour a tous. je me permet de venir vers vous, je suis un peut novice de la programmation basic et je doit réaliser un projet de caisse journalières et mensuel sous Aoo et en prenant en compte que ceux qui remplirons ce fichier sont novice et qu'il ne faut pas d'action autres que la saisie sur les cellules prévu a cet effet.
de fait j'ai plusieurs tableaux et je doit a l'aide d'un bouton ajouter une ligne qui gardera les éventuelles fonctions si il y a, la mise en forme et la fusion ou non si besoin de cellule.
j'usqu'a là j'ai tout trouver sur le forum et adapter a ma feuille et mes tableaux,cela fonctionne mais il reste deux problèmes.
le premier est que dans la programation de la macro j'indique le nom du tableau et les colonnes a copier. Seulement lorsque dans un tableau deux cellules sont fusionner (ex 1éligne (tableau ticket resto suite)), lors de l'action cela ne reproduit pas la fusion sur la 2é ligne..! cela me remet les collonnes mais une a une voir dessin si dessous (beaucoup plus explicite…)
le deuxième problème (consulter le fichier) est le fait que sur ma cellule P34 je demande la somme de la colonne G et P de mon tableau "ticket restaurant" sans savoir combien de ligne il y aura..j'ai bien regarder dans les sous totaux de tableaux ou fonction somme mais je vous avous etre perdu car aucun ne rentre dans mon cas de figure.
en vous remerciant par avance de votre aide
de fait j'ai plusieurs tableaux et je doit a l'aide d'un bouton ajouter une ligne qui gardera les éventuelles fonctions si il y a, la mise en forme et la fusion ou non si besoin de cellule.
j'usqu'a là j'ai tout trouver sur le forum et adapter a ma feuille et mes tableaux,cela fonctionne mais il reste deux problèmes.
le premier est que dans la programation de la macro j'indique le nom du tableau et les colonnes a copier. Seulement lorsque dans un tableau deux cellules sont fusionner (ex 1éligne (tableau ticket resto suite)), lors de l'action cela ne reproduit pas la fusion sur la 2é ligne..! cela me remet les collonnes mais une a une voir dessin si dessous (beaucoup plus explicite…)
le deuxième problème (consulter le fichier) est le fait que sur ma cellule P34 je demande la somme de la colonne G et P de mon tableau "ticket restaurant" sans savoir combien de ligne il y aura..j'ai bien regarder dans les sous totaux de tableaux ou fonction somme mais je vous avous etre perdu car aucun ne rentre dans mon cas de figure.
en vous remerciant par avance de votre aide
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par maxime14000 le 05 nov. 2019 16:55, modifié 10 fois.
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- MOOdérateur
- Messages : 469
- Inscription : 05 sept. 2010 13:57
Re: [Calc] Dupliquer une ligne dans un tableau
Bonjour et bienvenue,
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?
Lisez ce fil pour savoir quelle balise utiliser : http://user.services.openoffice.org/fr/ ... html#27295
N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Merci de votre collaboration.
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?
Lisez ce fil pour savoir quelle balise utiliser : http://user.services.openoffice.org/fr/ ... html#27295
N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Merci de votre collaboration.
Voir permet l'observation qui engendre l'analyse qui conduit au jugement qui détermine l'action
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Dupliquer une ligne dans un tableau
je suis tout a fait désolé..en effet j'aurais du prendre plus de précaution et je vous remercie d'avoir fait le nécessaire par avance afin que ce sujet puisse être traité.Lynx a écrit :Bonjour et bienvenue,
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?
Lisez ce fil pour savoir quelle balise utiliser : http://user.services.openoffice.org/fr/ ... html#27295
N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Merci de votre collaboration.
y a t'il quelqu'un pour m'aider?
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 22 oct. 2019 09:41
Re: [Calc] Dupliquer une ligne dans un tableau
Bonjour,
Si j'ai bien compris la deuxième partie de votre problème, vous ne savez pas combien de lignes seront insérées entre le montant et le montant total.
Pour en faire la somme, vous pouvez sélectionner la plage entre les deux et la nommer (par exemple : plage1). Il suffit ensuite de saisir la formule : =SOMME(plage1).
Les lignes insérées seront prises en compte dans le total.
Si j'ai bien compris la deuxième partie de votre problème, vous ne savez pas combien de lignes seront insérées entre le montant et le montant total.
Pour en faire la somme, vous pouvez sélectionner la plage entre les deux et la nommer (par exemple : plage1). Il suffit ensuite de saisir la formule : =SOMME(plage1).
Les lignes insérées seront prises en compte dans le total.
LibreOffice Calc Version: 6.2.7.1 (x64)
Windows 10
Windows 10
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Dupliquer une ligne dans un tableau
Bonjour, je n’avais pas réfléchi comme ça en effet cela devrait marcher, mais je m'interroge tout de même sur le fait que j'ai besoin de 31 page (une pour chaque jour du mois)et vais etre oblige de créer 31 plage de données différente…??? je vais tester et vous faire le retour .J a c a écrit :Bonjour,
Si j'ai bien compris la deuxième partie de votre problème, vous ne savez pas combien de lignes seront insérées entre le montant et le montant total.
Pour en faire la somme, vous pouvez sélectionner la plage entre les deux et la nommer (par exemple : plage1). Il suffit ensuite de saisir la formule : =SOMME(plage1).
Les lignes insérées seront prises en compte dans le total.
Concernant mon premier problème, Je cherche donc à savoir comment je pourrais modifier la programmation à fin que je puisse dupliquer des ligne qui comportent des cellules fusionner à la fin de mon tableau (tout en gardant comme elle est codé,le formatage conditionnel et les fonction si il y a;) Je vous met une image beaucoup plus parlante..
(ex 1é ligne (tableau ticket resto suite)), lors de l'action cela ne reproduit pas la fusion sur la 2é ligne.!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Dupliquer une ligne dans un tableau
un pti Up...j'ai modifier la capture d'ecran afin d'etre le plus clair possible…
qu'elqu'un pour m'aider??
qu'elqu'un pour m'aider??
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Calc] Dupliquer une ligne dans un tableau
Bonjour,
Pour fusionner des cellules, une fois la zone connue, il faut passer à la propriété merge de cette zone la valeur booléenne True
Je n'ai pas modifié ton code car il ne fait rien de ce que tu décris. Essaye de mettre un formule en G12 par exemple :
Tu t'apercevras que la formule n'est pas recopiée sur la ligne du dessous lorsque tu appuies sur le bouton AJOUTER UNE LIGNE. Et pas vu de formatage conditionnel dans ton fichier non plus.
A+
Pour fusionner des cellules, une fois la zone connue, il faut passer à la propriété merge de cette zone la valeur booléenne True
Code : Tout sélectionner
maZone = maFeuille.getCellRangeByName("B12:D12")
maZone.Merge(True) ' fusionne la zone
Code : Tout sélectionner
=B12*D12
A+
Ajout : Un exemple à tester (fonctionne pour la zone Ticket resto suite)
Code : Tout sélectionner
|
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
AOO
LibreOffice
Debian 10 et 11
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Dupliquer une ligne dans un tableau
Ajout : Un exemple à tester (fonctionne pour la zone Ticket resto suite)
Code : Tout sélectionner
|
par contre reste une interrogation.. si j'ai bien compris dans le code on sélectionne les colonnes (1,2ect..) pour recopier les formules?
car dans ton exemple cela ne recopie qu'un seul tableau et pas le deuxième (alors que les deux tableaux sont nommé sur la même, plage de feuille)
comment faire?
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Calc] Dupliquer une ligne dans un tableau
NOn ! On sélectionne les colonnes pour effacer le contenu. La macro copie l'avant dernière ligne de la plage, insère une ligne et colle la ligne copiée à l'endroit de la ligne insérée.maxime14000 a écrit :si j'ai bien compris dans le code on sélectionne les colonnes (1,2ect..) pour recopier les formules?
Tu peux montrer un exemple, donner les références du deuxième tableau ? Est-ce que tu as mis des formules dans le deuxième tableau, je veux voir.maxime14000 a écrit :dans ton exemple cela ne recopie qu'un seul tableau et pas le deuxième
A+
Ajout : Par contre il faut corriger :
Code : Tout sélectionner
Code : Tout sélectionner
|
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
AOO
LibreOffice
Debian 10 et 11
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Dupliquer une ligne dans un tableau
Ajout : Par contre il faut corriger :
Code : Tout sélectionner
Code : Tout sélectionner
|
voila ce que j'ai fait..
Code : Tout sélectionner
Sub TicketRestoSuite
Dim oDoc As Object, oRaZone As Object, feuille As Object, ligne_A_recopier As Object
Dim lesLignes As Object, colonnes As Object, destination As Object
Dim i As Long
oDoc = Thiscomponent
oRaZone = oDoc.namedRanges.getByName("tabticketresto").getReferredCells().getRangeAddress()
feuille = oDoc.Sheets(oRaZone.Sheet)
lesLignes = feuille.Rows
ligne_A_recopier = feuille.getCellRangeByPosition(oRaZone.startColumn, oRaZone.endRow-1, oRaZone.endColumn, oRaZone.endRow-1)
lesLignes.insertByIndex(oRaZone.endRow,1)
destination = feuille.getCellByPosition(oRaZone.startColumn, oRaZone.endRow)
feuille.copyRange(destination.CellAddress, ligne_A_recopier.RangeAddress)
colonnes = Array(1,3,10,13)
for i = LBound(colonnes) To UBound(colonnes)
feuille.getCellByPosition(colonnes(i), oRaZone.endRow).SetString("")
next i
End Sub
par contre au niveau donc des colonnes je n'arrive pas a effacer les saisie des cellules des lignes en dessus. On démarre du bord de la feuille ou du bord du nom de plage du tableau
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Dupliquer une ligne dans un tableau
voila ce que j'ai fait pour que tout fonctionne..ets e bien?
pour bien explique du coup, je pense que le depart du nombre des colonnes (1,3,10,13) demarre de la premiere colonnes qui est en forme de la selection de mon tableau nommé "tabticketresto"?
Code : Tout sélectionner
Sub TicketRestoSuite
Dim oDoc As Object, oRaZone As Object, feuille As Object, ligne_A_recopier As Object
Dim lesLignes As Object, colonnes As Object, destination As Object
Dim i As Long
oDoc = Thiscomponent
oRaZone = oDoc.namedRanges.getByName("tabticketresto").getReferredCells().getRangeAddress()
feuille = oDoc.Sheets(oRaZone.Sheet)
lesLignes = feuille.Rows
ligne_A_recopier = feuille.getCellRangeByPosition(oRaZone.startColumn, oRaZone.endRow-1, oRaZone.endColumn, oRaZone.endRow-1)
lesLignes.insertByIndex(oRaZone.endRow,1)
destination = feuille.getCellByPosition(oRaZone.startColumn, oRaZone.endRow)
feuille.copyRange(destination.CellAddress, ligne_A_recopier.RangeAddress)
colonnes = Array(1,3,10,12)
for i = LBound(colonnes) To UBound(colonnes)
feuille.getCellByPosition(colonnes(i), oRaZone.endRow).SetString("")
next i
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Calc] Dupliquer une ligne dans un tableau
Pour conclure
Le code est correctement corrigé. Les lignes sont correctement ajoutée aux tableaux. Donc tout va bon.
A+
Le code est correctement corrigé. Les lignes sont correctement ajoutée aux tableaux. Donc tout va bon.
de quoi tu parles ? J'ai volontairement rempli trois cellules pour montrer que les formules sont bien recopiées, ce qui n'était pas le cas avec ton code. Si tu ne veux plus voir les valeur données en exemple, il suffit de les supprimer puis enregistrer le fichier.maxime14000 a écrit :par contre au niveau donc des colonnes je n'arrive pas a effacer les saisie des cellules des lignes en dessus.
Là j'ai besoin d'un interprète car je ne comprends pas ce que tu veux dire.maxime14000 a écrit :pour bien explique du coup, je pense que le depart du nombre des colonnes (1,3,10,13) demarre de la premiere colonnes qui est en forme de la selection de mon tableau nommé "tabticketresto"?
A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
AOO
LibreOffice
Debian 10 et 11