bonjour a tous l'ouverture de ce nouveau sujet fait suite a celui ci https://forum.openoffice.org/fr/forum/v ... =8&t=61179 mais avce un tout autre sujet, et un tou autre but c'est pourquoi j'ai préféré refaire un nouveau.
dans l'ancien sujet nous avons réussit a programmer un bouton de façon a ajouter une ligne à un tableau en gardant le formatage ainsi que les fonction de la ligne du dessus.
dans la programmation nous indiquons le nom du tableau et les zones a dupliquer. cette programmation fonctionne très bien pour l'utilisation d'une seule feuille.
hors dans mon cas le but mon projet est de créer une caisse journalière (avec récap mensuel). il me faut donc 31 page (1 par jour...) et 31 fois le ou les tableaux (dans mon cas 3 par page).
si je suis l'exemple ci-joint cela m'oblige à nommer chaque tableau dans les 31 pages mais aussi dans la programmation refaire 31 programmations avec 31 nom de tableau different...
donc selon vous comment modifier le code et comment faire pour ne pas avoir une avalanche de nom et autant de macro..
[Résolu][Calc] Action sur plusieurs tableaux et pages
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] Action sur plusieurs tableaux et pages
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par maxime14000 le 18 nov. 2019 20:22, modifié 2 fois.
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- InconditiOOnnel
- Messages : 936
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Calc] Action sur plusieurs tableaux dans plusieurs page
Bonjour
Sans vouloir jouer le rabat-joie, le problème et le but reste les mêmes, c'est l'exposition du problème qui n'était pas la bonne dès les départ. Bref ! Maintenant que j'ai déchargé mon colt...
Une solution avec une modification du code proposé par OOotremer971, insertion d'une ligne en dessous de la ligne sélectionnée et copie.
La macro vérifie juste qu"il y a bien une sélection de plusieurs cellules.
Sur la feuille active, elle va insérer une ligne en dessous de la ligne sélectionnée et copier bêtement la ligne sélectionnée . Il conviendrait certainement d'ajouter quelques contrôles.
Cordialement
Luke
Sans vouloir jouer le rabat-joie, le problème et le but reste les mêmes, c'est l'exposition du problème qui n'était pas la bonne dès les départ. Bref ! Maintenant que j'ai déchargé mon colt...
Une solution avec une modification du code proposé par OOotremer971, insertion d'une ligne en dessous de la ligne sélectionnée et copie.
Code : Tout sélectionner
Sub Select_Insert_Copy
Dim Feuille As Object, Selection As Object
Dim MaLigne As Object, DestLigne As Object, colonnes As Object
Dim NumLigne As Long
Feuille = ThisComponent.CurrentController.ActiveSheet()
Selection = ThisComponent.CurrentSelection
if (Selection.SupportsService("com.sun.star.table.Cell")) then
'si une seule cellule sélectionnnée
MsgBox("Aucune ligne sélectionnée", 48, "titre")
Exit Sub
end if
NumLigne = Selection.RangeAddress.StartRow + 2
MaLigne = Feuille.GetCellRangeByName("A" + NumLigne).Rows
MaLigne.InsertByIndex(0,1)
DestLigne = Feuille.GetCellRangeByName("A" + NumLigne)
Feuille.CopyRange(DestLigne.CellAddress,Selection.RangeAddress)
colonnes = Array(1,3,5,7,9)
for i = LBound(colonnes) To UBound(colonnes)
feuille.getCellByPosition(colonnes(i),NumLigne-1).SetString("")
next i
End Sub
Sur la feuille active, elle va insérer une ligne en dessous de la ligne sélectionnée et copier bêtement la ligne sélectionnée . Il conviendrait certainement d'ajouter quelques contrôles.
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Action sur plusieurs tableaux dans plusieurs page
bonjour n'etant pas un pro de la programation ou doit je indiquer la ligne selectionné à copié car je n'arrive pas a faire fonctionner la programation...??luky-luke a écrit :Bonjour
Sans vouloir jouer le rabat-joie, le problème et le but reste les mêmes, c'est l'exposition du problème qui n'était pas la bonne dès les départ. Bref ! Maintenant que j'ai déchargé mon colt...
Une solution avec une modification du code proposé par OOotremer971, insertion d'une ligne en dessous de la ligne sélectionnée et copie.La macro vérifie juste qu"il y a bien une sélection de plusieurs cellules.Code : Tout sélectionner
Sub Select_Insert_Copy Dim Feuille As Object, Selection As Object Dim MaLigne As Object, DestLigne As Object, colonnes As Object Dim NumLigne As Long Feuille = ThisComponent.CurrentController.ActiveSheet() Selection = ThisComponent.CurrentSelection if (Selection.SupportsService("com.sun.star.table.Cell")) then 'si une seule cellule sélectionnnée MsgBox("Aucune ligne sélectionnée", 48, "titre") Exit Sub end if NumLigne = Selection.RangeAddress.StartRow + 2 MaLigne = Feuille.GetCellRangeByName("A" + NumLigne).Rows MaLigne.InsertByIndex(0,1) DestLigne = Feuille.GetCellRangeByName("A" + NumLigne) Feuille.CopyRange(DestLigne.CellAddress,Selection.RangeAddress) colonnes = Array(1,3,5,7,9) for i = LBound(colonnes) To UBound(colonnes) feuille.getCellByPosition(colonnes(i),NumLigne-1).SetString("") next i End Sub
Sur la feuille active, elle va insérer une ligne en dessous de la ligne sélectionnée et copier bêtement la ligne sélectionnée . Il conviendrait certainement d'ajouter quelques contrôles.
Cordialement
Luke
et comme je fesaitt rappel dans l'ancien poste ne va t'on pas retomber sur le meme probleme qu'au depart …??vu que les 3 tableau sont l'un en dessous de l'autre et vu que l'on peut rajouter des ligne a chaque tableau si on le souhaite (par ex),
est ce que cela ne pas poser probleme le fait d'indiquer un numero de ligne (qui fait ref a un tableau) qui peut bouger selon rajout de ligne ou pas (voir dessin ci joint)
d'origine le tableau Depense espece demarre à "B43", mais comme l'exemple le montre si on rajoute au tableau du dessus des ligne alors le tableau Depense especes demarre plus bas dans la page la en l'ocurrence "B47",
(c'était pour cela que l'on avait nommer les tableau avce des noms, mais la comment faire …?
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
-
- InconditiOOnnel
- Messages : 936
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Calc] Action sur plusieurs tableaux dans plusieurs page
Bonjour
Je dégaine mon colt encore une fois Il est inutile de recopier l'ensemble de mon message.
Exemple, je clic sur le nombre 36 complètement à gauche sur le tableur. L'ensemble de la ligne est sélectionnée et apparaît en surbrillance. Je lance la macro en cliquant sur le bouton + et une ligne est ajoutée en dessous de la 36 avec la copie de la formule présente dans la ligne 36.
La macro Select_Insert_Copy est affectée au boutons. Et je me répète, elle vérifie uniquement la sélection de plusieurs cellules. Si tu as sélectionné et copier la mauvaise ligne, il suffira de supprimer la nouvelle ligne.
Cela me semble le moyen le plus simple pour toi à reproduire de mois en mois et de classeur en classeur. Une seule macro, simple et un bouton dans une barre d'outils. Pas de zone de nom à reproduire sur d'autre classeur, bref un truc simple qui s’adapte à toute les situations. Ce n'est que mon avis
Un exemple en pièce jointe, la nouvelle barre d'outils s'appelle INSERT ET COPIE
Cordialement
Luke
Je dégaine mon colt encore une fois Il est inutile de recopier l'ensemble de mon message.
Il suffit de sélectionner une ligne sur la feuille et lancer la macro. La macro va fonctionner sur toute les feuilles et va insérer et recopier la ligne sélectionnée en dessous.maxime14000 a écrit :ou doit je indiquer la ligne sélectionné à copié car je n'arrive pas a faire fonctionner la programation...??
Exemple, je clic sur le nombre 36 complètement à gauche sur le tableur. L'ensemble de la ligne est sélectionnée et apparaît en surbrillance. Je lance la macro en cliquant sur le bouton + et une ligne est ajoutée en dessous de la 36 avec la copie de la formule présente dans la ligne 36.
La macro Select_Insert_Copy est affectée au boutons. Et je me répète, elle vérifie uniquement la sélection de plusieurs cellules. Si tu as sélectionné et copier la mauvaise ligne, il suffira de supprimer la nouvelle ligne.
Cela me semble le moyen le plus simple pour toi à reproduire de mois en mois et de classeur en classeur. Une seule macro, simple et un bouton dans une barre d'outils. Pas de zone de nom à reproduire sur d'autre classeur, bref un truc simple qui s’adapte à toute les situations. Ce n'est que mon avis
Un exemple en pièce jointe, la nouvelle barre d'outils s'appelle INSERT ET COPIE
Ajout : Pour le fun... Après quelques galères pour donner un nom incrémenté au plages sur les différentes feuilles. AOo et LibO supporte mal le mélange nombre et lettre sur les noms de plages, une macro pour créer les 93 plages sur les 31 feuilles.
Code : Tout sélectionner
Code : Tout sélectionner
|
Luke
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
- Membre lOOyal
- Messages : 40
- Inscription : 23 mars 2019 21:49
Re: [Calc] Action sur plusieurs tableaux dans plusieurs page
Excusez moi de ne pas avoir répondu plus tôt,(vacance…)
tout d'abord merci beaucoup pour vos réponses et la diversité des proposition afin de résoudre mon problème.
Apres réflexion et test j'ai opté pour l'idée de garder un nom par tableau par page. le fait d'avoir modifier la programmation pour les bouton lors de l'action mais aussi la macro pour créer les 93 tableaux ma fait gagner un temp très très important...et je vous en remercie
il reste tout de même un dernier problème: tout fonctionne parfaitement pour recopier les ligne des divers tableaux mais après avoir protéger la feuille (afin de ne laisser que les cellules pour la saisie des chiffres ou texte, les celules bleu) les bouton ne fonctionne plus…! ci joint le message d'erreur
dans l'idée comme c'est pour des utilisateur novice, il faut ne laisse accès qu'au cellules destinées a la saisie (les cellules bleu) et verrouille toute les autres.
Comme cela doit être du a la protection de la feuille je pense mais alors comment faire pour exécuter la macro correctement…?
tout d'abord merci beaucoup pour vos réponses et la diversité des proposition afin de résoudre mon problème.
Apres réflexion et test j'ai opté pour l'idée de garder un nom par tableau par page. le fait d'avoir modifier la programmation pour les bouton lors de l'action mais aussi la macro pour créer les 93 tableaux ma fait gagner un temp très très important...et je vous en remercie
il reste tout de même un dernier problème: tout fonctionne parfaitement pour recopier les ligne des divers tableaux mais après avoir protéger la feuille (afin de ne laisser que les cellules pour la saisie des chiffres ou texte, les celules bleu) les bouton ne fonctionne plus…! ci joint le message d'erreur
dans l'idée comme c'est pour des utilisateur novice, il faut ne laisse accès qu'au cellules destinées a la saisie (les cellules bleu) et verrouille toute les autres.
Comme cela doit être du a la protection de la feuille je pense mais alors comment faire pour exécuter la macro correctement…?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par maxime14000 le 18 nov. 2019 00:32, modifié 1 fois.
Pc windows 10
open office 4.1.11
open office 4.1.11
-
- InconditiOOnnel
- Messages : 936
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Calc] Action sur plusieurs tableaux dans plusieurs page
Bonjour
Merci de clore le fil en balisant [Résolu] dans ton premier message.
Cordialement
Luke
En déprotégeant la feuille en début de macro et en la protégeant en fin de macro. Une recherche sur le forum avec les mots Feuille+Protection devrait te donner la réponse sur la façon de faire, c'est un sujet récurantmaxime14000 a écrit :Comme cela doit être du aux verrouillage des cellules je pense mais alors comment faire pour exécuter la macro correctement…?
Merci de clore le fil en balisant [Résolu] dans ton premier message.
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose