[Résolu][Calc] insérer plage de cellules (format conservé)
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 : 35
- Inscription : 29 mars 2021 17:46
[Résolu][Calc] insérer plage de cellules (format conservé)
[calc] insertion plage de cellules (valeur,et/ou format et/ou formule ...)
je suis DEBUTANT !
Bonjour,
je souhaite copier une plage de cellules ("B10:I10") et l'insérer sur la ligne du dessous ("B11:I11') dans les "même" colonnes de façon à ce que le contenu existant , ex ("B11:I11"), se décale vers le bas et devienne("B12:I12").
merci pour votre aide .
je suis DEBUTANT !
Bonjour,
je souhaite copier une plage de cellules ("B10:I10") et l'insérer sur la ligne du dessous ("B11:I11') dans les "même" colonnes de façon à ce que le contenu existant , ex ("B11:I11"), se décale vers le bas et devienne("B12:I12").
merci pour votre aide .
Dernière modification par ZEK4 le 04 avr. 2021 16:28, modifié 1 fois.
libre office calc ver 7.1.1.2 WIN 7(X64)
-
- RespOOnsable forum
- Messages : 9255
- Inscription : 28 août 2010 08:45
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonjour et bienvenue,
Merci de respecter la syntaxe des balises ; la première lettre en majuscule, le reste en minuscules, le tout entre crochets.
Nous avons corrigé pour vous.
Si c'est une obligation, mentionnez-le dans votre signature en ajoutant Obligation de version.
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable
Accès direct à votre signature pour la corriger.
Merci de respecter la syntaxe des balises ; la première lettre en majuscule, le reste en minuscules, le tout entre crochets.
Nous avons corrigé pour vous.
Cette version de LibO est obsolète.Dans votre signature il y a écrit : libre office calc ver 3.0.1.3 WIN 7(X64)
Si c'est une obligation, mentionnez-le dans votre signature en ajoutant Obligation de version.
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable
Accès direct à votre signature pour la corriger.
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
-
- ManitOOu
- Messages : 3031
- Inscription : 02 juil. 2014 17:25
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonsoir,
Si il s'agit vraiment de conserver ligne 10 le contenu qui se trouve désormais ligne 11, il faut faire Copier avant le clic droit puis Coller après le déplacement.@+
Normalement il n'y a pas besoin de macro pour faire ça. Tu sélectionnes à la souris tes cellules de B10 à I10, puis clic droit sur une des cellules de la plage sélectionnée==>Insérer==>Déplacer vers le bas.ZEK4 a écrit :je souhaite copier une plage de cellules ("B10:I10") et l'insérer sur la ligne du dessous ("B11:I11') dans les "même" colonnes de façon à ce que le contenu existant , ex ("B11:I11"), se décale vers le bas et devienne("B12:I12").
Si il s'agit vraiment de conserver ligne 10 le contenu qui se trouve désormais ligne 11, il faut faire Copier avant le clic droit puis Coller après le déplacement.@+
-
- Membre lOOyal
- Messages : 35
- Inscription : 29 mars 2021 17:46
Re: [Calc]inserer une plage de cellule ( text,nombre et form
bonjour,
je souhaite créer un bouton avec macro pour réaliser cette tâche, pour que mes utilisateurs ne connaissant pas calc puissent se servir du tableur (remplir des cases et cocher des boutons..c'est tout .)
merci
je souhaite créer un bouton avec macro pour réaliser cette tâche, pour que mes utilisateurs ne connaissant pas calc puissent se servir du tableur (remplir des cases et cocher des boutons..c'est tout .)
merci
libre office calc ver 7.1.1.2 WIN 7(X64)
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Salut,
Au vu de ce que tu veux faire, passe par l'enregistreur de macro tout simplement.ZEK4 a écrit :je suis DEBUTANT !
-
- Membre lOOyal
- Messages : 35
- Inscription : 29 mars 2021 17:46
Re: [Calc]inserer une plage de cellule ( text,nombre et form
bonjour,
j'ai déjà tester cette possibilité mais problème de presse papier qui garde en mémoire le premier coller, mais une deuxieme lecture de la macros conserve le contenu du premier copier..
cdt
j'ai déjà tester cette possibilité mais problème de presse papier qui garde en mémoire le premier coller, mais une deuxieme lecture de la macros conserve le contenu du premier copier..
cdt
libre office calc ver 7.1.1.2 WIN 7(X64)
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Pourquoi une 2e lecture ? Ce n'est pas ce que tu demandes dans ton 1er message :ZEK4 a écrit :mais une deuxieme lecture de la macros conserve le contenu du premier copier.
ZEK4 a écrit :copier une plage de cellules ("B10:I10") et l'insérer sur la ligne du dessous ("B11:I11')
S'il s'agit de rendre indépendant le codage suivant l'emplacement de la sélection, c'est un tout autre problème.
Le même genre de question a été posé il y a 5 jours : https://forum.openoffice.org/fr/forum/v ... =8&t=63811
Il faut récupérer la cellule active via la propriété CurrentSelection.
-
- Membre OOrganisé
- Messages : 83
- Inscription : 09 févr. 2018 09:55
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonjour ZEK 4
Petite suggestion à tester...
En espèrant que cela puisse vous aider aprés-midi...
Markotxe
Petite suggestion à tester...
Code : Tout sélectionner
Sub FilaInserta
Classeur = ThisComponent
Feuille = Classeur.Sheets.GetByName("Test")
'__Insére file_________________________________________
Feuille.getRows.insertByIndex(10,1)
oRangeSource = Feuille.getCellRangeByName("B10:I10")
oRangeDest = Feuille.getCellRangeByName("B11:I11")
'__Copie/Colle valeurs_________________________________
oRangeDest.dataArray = oRangeSource.dataArray
End Sub
Markotxe
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.5.2 et Open Office 4.1.14
Window11 (Obligation de version).
Window11 (Obligation de version).
-
- Membre lOOyal
- Messages : 35
- Inscription : 29 mars 2021 17:46
Re: [Calc]inserer une plage de cellule ( text,nombre et form
bonjour,
merci markotxe, c'est parfait.
mais comment faire maintenant pour que le format des cellules soit conserver ?
merci
merci markotxe, c'est parfait.
mais comment faire maintenant pour que le format des cellules soit conserver ?
merci
libre office calc ver 7.1.1.2 WIN 7(X64)
-
- InconditiOOnnel
- Messages : 948
- Inscription : 19 août 2018 05:20
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonsoir,
Merci de fournir un document avec cette macro.
Je ne reproduis pas.ZEK4 a écrit :mais problème de presse papier qui garde en mémoire le premier coller
Merci de fournir un document avec cette macro.
Open Office 4.1.15 sous Windows 11
-
- Membre OOrganisé
- Messages : 83
- Inscription : 09 févr. 2018 09:55
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonsoir ZEK4, bonsoir forum,
je ne comprends pas trop le sens de votre question, normalement en insérant une nouvelle ligne, les formats sont automatiquement calqués sur la ligne de départ (ici la ligne 10).
Il est vrai que sans fichier exemple, il est difficile de se faire une idée.
Essayez de rajouter ceci juste avant le "End sub".
COoordialement
Markotxe
je ne comprends pas trop le sens de votre question, normalement en insérant une nouvelle ligne, les formats sont automatiquement calqués sur la ligne de départ (ici la ligne 10).
Il est vrai que sans fichier exemple, il est difficile de se faire une idée.
Essayez de rajouter ceci juste avant le "End sub".
Code : Tout sélectionner
oRangeDest.NumberFormat = oRangeSource.NumberFormat
Markotxe
LibO 7.5.2 et Open Office 4.1.14
Window11 (Obligation de version).
Window11 (Obligation de version).
-
- Membre lOOyal
- Messages : 35
- Inscription : 29 mars 2021 17:46
Re: [Calc]inserer une plage de cellule ( text,nombre et form
bonjour,
rappel débutant !
voici mon projet "bourse aux vélos association sportive)
deux pages seront imprimées ( une pour le déposant, l'autre pour le club) à l'issus de la saisie d'un ou de plusieurs dépôts (vélos);
Jusque là,page de gauche, j'ai réussi à faire, outre la mise en page, les boutons zone de liste...le bouton qui commande l'ajout d'une ligne pour une nouvelle saisie d'un même déposant...les boutons radios sans macros.( les boutons ne seront pas imprimés, je sais faire maintenant ..)
Ce que je souhaite faire maintenant est que, à la fin de la dernière saisie ( dernier dépôt du même déposant ):
- les données ( texte , nombres) de la page de gauche se retrouve sur la page de droite; pour la partie identité déposant, je pense faire un collage avec liaison ( je sais pas faire en macros ! mais ça marche sur calc)
- partie depots ; copier B11:J19 en T11:AB19 avec bordures de cellules !
- la feuille soit copier/coller (uniquement les valeurs ) dans un nouvelle onglet renommé du nom prénom du déposant.
- imprime ces deux pages
- vidanger les cellules ( clearcontents ) pour une nouvelle saisie (nouveau déposant).
ci joint mon ods .
rappel débutant !
voici mon projet "bourse aux vélos association sportive)
deux pages seront imprimées ( une pour le déposant, l'autre pour le club) à l'issus de la saisie d'un ou de plusieurs dépôts (vélos);
Jusque là,page de gauche, j'ai réussi à faire, outre la mise en page, les boutons zone de liste...le bouton qui commande l'ajout d'une ligne pour une nouvelle saisie d'un même déposant...les boutons radios sans macros.( les boutons ne seront pas imprimés, je sais faire maintenant ..)
Ce que je souhaite faire maintenant est que, à la fin de la dernière saisie ( dernier dépôt du même déposant ):
- les données ( texte , nombres) de la page de gauche se retrouve sur la page de droite; pour la partie identité déposant, je pense faire un collage avec liaison ( je sais pas faire en macros ! mais ça marche sur calc)
- partie depots ; copier B11:J19 en T11:AB19 avec bordures de cellules !
- la feuille soit copier/coller (uniquement les valeurs ) dans un nouvelle onglet renommé du nom prénom du déposant.
- imprime ces deux pages
- vidanger les cellules ( clearcontents ) pour une nouvelle saisie (nouveau déposant).
ci joint mon ods .
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libre office calc ver 7.1.1.2 WIN 7(X64)
-
- Membre OOrganisé
- Messages : 83
- Inscription : 09 févr. 2018 09:55
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Pour ça un vieux copier coller des familles devrait marcher, no?(garde les bordures)ZEK4 a écrit :- les données ( texte , nombres) de la page de gauche se retrouve sur la page de droite; pour la partie identité déposant, je pense faire un collage avec liaison ( je sais pas faire en macros ! mais ça marche sur calc)
- partie depots ; copier B11:J19 en T11:AB19 avec bordures de cellules !
Code : Tout sélectionner
Sub test
mondocument = ThisComponent
maFeuille1 = mondocument.Sheets.getByName("DEPOT")
oCellDest = maFeuille1.getCellRangeByName("T11")
oRangeSource = maFeuille1.getCellRangeByName("B11:J19")
'__Copier/Coller (bordures, formules, valeurs, textes etc...)__________________
maFeuille1.copyRange(oCellDest.CellAddress, oRangeSource.RangeAddress)
End sub
LibO 7.5.2 et Open Office 4.1.14
Window11 (Obligation de version).
Window11 (Obligation de version).
-
- Membre lOOyal
- Messages : 35
- Inscription : 29 mars 2021 17:46
Re: [Calc]inserer une plage de cellule ( text,nombre et form
bonjour MarKotxe,
le lecture de la macros depuis l’éditeur de macros fonctionne à merveille MAIS la macros lancer depuis mon bouton sur la feuille de calcul auquel j'ai affecté cette macro copie/colle sans les bordures !
bizard !
le lecture de la macros depuis l’éditeur de macros fonctionne à merveille MAIS la macros lancer depuis mon bouton sur la feuille de calcul auquel j'ai affecté cette macro copie/colle sans les bordures !
bizard !
libre office calc ver 7.1.1.2 WIN 7(X64)
-
- InconditiOOnnel
- Messages : 948
- Inscription : 19 août 2018 05:20
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonsoir,
Je viens de tester ton document et ta macro "copie_colle" fonctionne comme ce que tu décris :
Je viens de tester ton document et ta macro "copie_colle" fonctionne comme ce que tu décris :
Bien sûr, il y a un avertissement puisque la plage T11:AB19 n'est pas vide.ZEK4 a écrit :copier B11:J19 en T11:AB19 avec bordures de cellules !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.15 sous Windows 11
-
- Membre OOrganisé
- Messages : 83
- Inscription : 09 févr. 2018 09:55
Re: [Calc]inserer une plage de cellule ( text,nombre et form
Bonjour ZEK4,
Normalement, il faut se centrer sur une seule question par post (ça facilite la recherche).
Cependant, comme vous êtes nouveau et que j'ai un peu de temps, je me suis penché sur le reste de votre projet.
Fait. (ou du moins revu et simplifié cf macro du fichier joint).
Requêtes supplémentaires:
Je vous conseille d'ouvrir un nouveau post spécialement pour traiter le sujet.
Voici le code de la macro "Imprime"
En espèrant que cela puisse vous aider...
COoordialement
Markotxe
Normalement, il faut se centrer sur une seule question par post (ça facilite la recherche).
Cependant, comme vous êtes nouveau et que j'ai un peu de temps, je me suis penché sur le reste de votre projet.
C'était l'objet du post.ZEK4 a écrit :l'ajout d'une ligne pour une nouvelle saisie d'un même déposant
Fait. (ou du moins revu et simplifié cf macro du fichier joint).
Requêtes supplémentaires:
Fait. (Voir la macro "Imprime")ZEK4 a écrit :- les données ( texte , nombres) de la page de gauche se retrouve sur la page de droite
Effectivement, on peut faire comme ça (par liaison j'entends un "="). Mais bon, j'ai tout de même ajouté un copier/coller (valeurs) qui s'occupe de cette opération. Ça évitera les erreurs de manipulations qui pourraient par mégarde boulverser les formules... (Ça arrive, oui,oui...)ZEK4 a écrit :pour la partie identité déposant, je pense faire un collage avec liaison
Fait. (voir Macro Imprime)ZEK4 a écrit :la feuille soit copier/coller (uniquement les valeurs ) dans un nouvelle onglet renommé du nom prénom du déposant.
Ça par contre, Pas fait...ZEK4 a écrit :- imprime ces deux pages
Je vous conseille d'ouvrir un nouveau post spécialement pour traiter le sujet.
Fait mais grisés afin de pouvoir réaliser les tests sans avoir à renter chaque fois de nouvelles données...ZEK4 a écrit :vidanger les cellules ( clearcontents ) pour une nouvelle saisie (nouveau déposant).
Voici le code de la macro "Imprime"
Code : Tout sélectionner
Sub Imprime '
MonDocument = ThisComponent
oFls = MonDocument.Sheets
oMaFeuille1 = oFls.getByName("DEPOT")
'__Processus du copier/coller________________________________________________________
oCellDest = oMaFeuille1.getCellRangeByName("T11")
oRangeSource = oMaFeuille1.getCellRangeByName("B11:J19")
oPlageClient = oMaFeuille1.getCellRangeByName("C6:I6")
oPlageClientClub = oMaFeuille1.getCellRangeByName("U6:AA6")
'__Copier/Coller (bordures, formules, valeurs, textes etc...)________________________
oMaFeuille1.copyRange(oCellDest.CellAddress, oRangeSource.RangeAddress)
'__Copier/Coller les renseignements du client (uniquement les valeurs = DataArray)___
oPlageClientClub.DataArray = oPlageClient.DataArray
'------------------------------------------------------------------------------------
'__Localisation de la cellule qui donnera le nom du nouvel onglet de recherche_______
oCellOnglet = oMaFeuille1.getCellRangeByName("U6")
'__Création d'une nouvelle page puis on la nomme_____________________________________
oNouvelOnglet = MonDocument.CreateInstance( "com.sun.star.sheet.Spreadsheet" )
oFls.InsertByName( oCellOnglet.String, oNouvelOnglet )
'__On copie/Colle les tableaux dans la feuille nouvellement créée____________________
oFlO = oFls.getByName(oCellOnglet.String)
oCellDestination = oFlO.getCellRangeByName("B2")
oPlage_a_Conserver = oMaFeuille1.getCellRangeByName("T3:AB19")
oFlO.copyRange(oCellDestination.CellAddress, oPlage_a_Conserver.RangeAddress)
'__On re-copie/Colle par dessus avec DataArray pour ne conserver que les valeurs_____
oPlageSauvegarde = oFlO.getCellRangeByName("B2:J16")
oPlageFinale = oFlO.getCellRangeByName("B2:J16")
oPlageFinale.DataArray = oPlageSauvegarde.DataArray
'------------------------------------------------------------------------------------
'__On imprime les deux tableaux?_____________________________________________________
'...
'... Je vous conseille d'ouvrir un nouveau sujet pour traiter cette partie
'...
'------------------------------------------------------------------------------------
'__On efface les anciennes données 1+2+4 =7 (1=Valeurs, 2=Dates, 4= Textes)__________
'*NOTA: 8=Commentaires, 16=Formules etc...
oPlage_a_EffacerClientA = oMaFeuille1.getCellRangeByName("C6:I6")
oPlage_a_EffacerClientB = oMaFeuille1.getCellRangeByName("B11:J19")
oPlage_a_EffacerClubA = oMaFeuille1.getCellRangeByName("U6:AA6")
oPlage_a_EffacerClubB = oMaFeuille1.getCellRangeByName("T11:AB19")
' oPlage_a_EffacerClientA.ClearContents(7)
' oPlage_a_EffacerClientB.ClearContents(7)
' oPlage_a_EffacerClubA.ClearContents(7)
' oPlage_a_EffacerClubB.ClearContents(7) 'Grisé pour pouvoir faire des tests
'-------------------------------------------------------------------------------------
end sub
'**NOTA: N'oubliez pas de clore le sujet par [Résolu], si vous estimez que la question
' a été traitée.
COoordialement
Markotxe
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.5.2 et Open Office 4.1.14
Window11 (Obligation de version).
Window11 (Obligation de version).