Répéter la même opération plusieurs fois

Bonjour

Je suis sur Libre Office Calc 2.0 , je travaille sur un tableau de 1500
cases ( à la vertical ) et 8 cases ( à l'horizontal ) . Je dois insérer une
nouvelle ligne entre chaque lignes , de sorte à ce que j'ai : 3000 cases ( à
la vertical ) , l’horizontal reste pareil .
Une fois une nouvelle ligne insérer je dois aussi fusionner 5 des 8 cases
horizontal à chaque fois .

Tout ceci va me prendre un temps infini si je dois le faire manuellement ! Y
aurait t-il pas une solution plus efficace de le faire ? Une touche
raccourcis qui répèterai l'opération plusieurs fois ?

À savoir que les 1500 lignes sont déjà remplis de contenue , donc me
proposez pas de refaire un tableau car j'ai mis trop longtemps à le faire
pour avoir à le refaire .

Cordialement .

Bonjour,

Voici comment je ferrai (mais je n'ai pas testé, donc je ne garanti pas que cela fonctionne).
Travailler bien sur sur une copie du fichier existant.

1ère partie : créer les 1500 ou 1501 lignes à insérer :

  * En dessous des 1500 lignes existantes, créer une nouvelle ligne
    telle qu'elle doit être insérée ensuite entre chaque ligne existante
    (fusionner les cellules qui doivent l'être, mettre les styles si
    besoin, ...),
  * Copier cette ligne,
  * Sélectionner les 1500 lignes situées en dessous de cette nouvelle ligne,
  * Coller la copie (vous devriez avoir alors 1501 lignes telles que
    vous voulaient les insérer entre chaque ligne existante du tableau).

2ème partie : ranger les lignes dans le bon ordre,

  * Dans une colonne non utilisée (la 9ème par exemple si vous avez un
    tableau sur 8 colonnes), dans la cellule de la 1ère ligne de cette
    colonne saisir le chiffre 1,
  * dans la cellule de la 2ème ligne de cette colonne saisir le chiffre 3,
  * sélectionner les cellules contenant les chiffres 1 et 3,
  * amener votre souris dans le carré noir situé en bas à droite de la
    cellule du bas et quand le symbole de la souris devient une croix
    noire, appuyer sur le bouton de gauche de la souris et déplacer la
    vers le bas jusqu'à la dernière ligne du tableau existant (ligne
    1500 normalement). Cette colonne devrait alors être remplie que de
    nombres impairs rangés dans l'ordre croissant.
  * Faire de même avec les 1500 ou 1501 lignes nouvelles à insérer mais
    avec les nombres pairs,
  * Dans la même colonne (la 9ème par exemple si vous avez un tableau
    sur 8 colonnes), dans la cellule de la ligne 1501 de cette colonne
    saisir le chiffre 2,
  * dans la cellule de la ligne 1502 de cette colonne saisir le chiffre 4,
  * sélectionner les cellules contenant les chiffres 2 et 4,
  * amener votre souris dans le carré noir situé en bas à droite de la
    cellule du bas et quand le symbole de la souris devient une croix
    noire, appuyer sur le bouton de gauche de la souris et déplacer la
    vers le bas jusqu'à la dernière ligne des lignes à rajouter. Cette
    colonne devrait alors être remplie que de nombres pairs rangés dans
    l'ordre croissants.
  * sélectionner toutes les cellules du tableau (3000 lignes, 9
    colonnes) et trier les données de la colonne 9 par ordre croissant.
    Vous devriez obtenir une ligne du tableau existant, puis une ligne
    nouvelle, et ainsi de suite.
  * La colonne 9 peut ensuite être effacée.

J'espère que cela correspond à ce qu'il faut faire et que la démarche est suffisamment bien expliquée...
Cordialement.
Hervé

Merci pour votre aide .

Je suis très patient , vraiment hein , mais depuis votre message je me suis
pris la tête car je n'y arrive pas ! Mais vos explications mon données une
idée :

J'ai fais une copie de mon fichier comme vous me l'avez conseillé ; sur la
version copie j'ai surligné tout mon tableau puis clic droit , puis insérer
( décaler les cellules vers le bas ) , comme ça je me retrouvais avec mes
3000 lignes . J'ai pris le soin de copier le contenue du tableau pour en
faire un doublon à coter , puis j'ai supprimer le contenue du tableau ( donc
j'avais toujours mon contenue à coter mais je me retrouvais avec un tableau
vierge ) . Seulement le ik c'était qu'au moment de ramener le contenue
copier d'à coter , tout c'est coller à s'ensuivre , or je voudrais que ça ce
colle mais avec une case de séparation à chaque fois ( dans le sens
horizontal ) .

De même pour les cases que je fusionnes , quand je colle le contenue il ne
devrait pas y avoir de problème , or , toutes les cases ce rescindent entre
elles lorsque je fais " coller " .
Je me suis dis : peut-être que c'est à cause du fais qu'à la base les cases
du contenue copier elles n'étaient pas fusionnées ? Ce qui ferrait qu'elles
ce rescindent directement lorsque je les colles dans mes cases fusionnées...
Alors j'ai copier à nouveau ces cases là ( du contenue copier du tableau )
et je les aient collés sur mon block note windows pour les re-copiés ( sans
l'influence de la fusion pour ce coup-ci ) et collés dans mes cases
fusionnés ( du tableau vierge ) ... sauf que le soucis c'est que tout
n'apparait pas , et quand j'essaie de coller le contenue du block note dans
des cases non fusionnées , là ça marche ... mais ça ne m'avance à rien du
coups !

Donc voilà mes deux grandes questions :

1 - Comment coller , d'un coup , du contenue avec une case de séparations
entre chaque ligne . ( sens horizontal )

2 - Comment coller , d'un coup , du contenue dans des cases fusionnées sans
que ça en colle QUE la moitié , puisque ça fonctionne bien dans des cases
non fusionnées , pourquoi pas dans des cases fusionnées alors ?

Cordialement
David

Bonjour,
je propose cette solution :
insérer une nouvelle colonne.
mettre la valeur 1 dans la 1ere case de cette colonne, puis la valeur 3 dans la 2° case.
sélectionner ces deux premières cases, puis en attrapant le coin inférieur droit de la deuxième, "tirer" jusqu'à la ligne 1500: les valeurs s'incrémentent de deux en deux et vos lignes sont numérotées par des valeurs impaires.
toujours dans cette nouvelle colonne, placer les valeurs 2 et 4 dans les cases des lignes 1501 et 1502. sélectionner les deux cases et tirer (en attrapant le coin inférieur droit de la cellule) jusqu'à la ligne 3000; les valeurs s'incrémentent et les lignes 1501 à 3000 se retrouvent numérotées par des valeurs paires.
Il reste à trier l'ensemble du tableau (9 colonnes, 3000 lignes) à l'aide de la colonne crée, dans l'ordre croissant.
les lignes vierges de 1501 à 3000 se placeront entre les lignes contenant les données.
On peut ensuite se débarrasser de la colonne de tri.

Cordialement,
Franck Larrivé

Merci pour cette solution Franck Larrivé .

Évidemment je vais devoir passer un peu de temps pour faire tout ça mais ce
sera déjà plus rapide que de ce taper les lignes une par une . De toute
manière je vais devoir le faire aussi car si j'incruste de nouvelles lignes
c'est pour y mettre d'autre contenue mais l'aide que vous m'avez apportés
c'est quasiment 40% de travaille redondant que je n'aurais pas à faire ,
donc merci tout les deux :slight_smile:

Cordialement
David

Bonjour,

Question naïve : pourquoi ne pas ajouter des colonnes à la place
d'ajouter des lignes ? Quelles sont les contraintes ?

Depuis plus de 30 ans que j'utilise des tableurs, il ne m'est jamais
venu à l'idée de réaliser ce genre d'opération qui me semble en
contradiction avec les principes de base de gestion des données : plus
possible de les trier ou les sélectionner, notamment.

S'il s'agit d'une question de mise en page à l'édition ou à
l'affichage, plusieurs solutions s'offrent, notamment, créer un état
dans Base ou une fusion avec Writer. Je vois qu'il existe une extension
dont je n'ai pas l'expérience qui semble répondre à ce besoin :
http://extensions.libreoffice.org/extension-center/basereportextension.
A tester !

Librement.

Bonjour David,

Je viens de faire des essais. Dans les étapes que j'ai envoyées dans le mail du 5 septembre 2016, c'est l'avant dernière étapes qui pose problème. En effet le tri de cellules fusionnées ne fonctionne pas (LibreOffice 5.2.1.1 X64).
Les autres étapes fonctionnent.

Voici ce que je propose pour y arriver.

On garde les étapes du débuts :
Travailler bien sur sur une copie du fichier existant.

1ère partie : créer les 1500 ou 1501 lignes à insérer :

  * En dessous des 1500 lignes existantes, créer une nouvelle ligne
    telle qu'elle doit être insérée ensuite entre chaque ligne existante
    (fusionner les cellules qui doivent l'être, mettre les styles si
    besoin, ...),
  * Copier cette ligne,
  * Sélectionner les 1500 lignes situées en dessous de cette nouvelle ligne,
  * Coller la copie (vous devriez avoir alors 1501 lignes telles que
    vous voulaient les insérer entre chaque ligne existante du tableau).

2ème partie : ranger les lignes dans le bon ordre,

  * Dans une colonne non utilisée (la 9ème par exemple si vous avez un
    tableau sur 8 colonnes), dans la cellule de la 1ère ligne de cette
    colonne saisir le chiffre 1,
  * dans la cellule de la 2ème ligne de cette colonne saisir le chiffre 3,
  * sélectionner les cellules contenant les chiffres 1 et 3,
  * amener votre souris dans le carré noir situé en bas à droite de la
    cellule du bas et quand le symbole de la souris devient une croix
    noire, appuyer sur le bouton de gauche de la souris et déplacer la
    vers le bas jusqu'à la dernière ligne du tableau existant (ligne
    1500 normalement). Cette colonne devrait alors être remplie que de
    nombres impairs rangés dans l'ordre croissant.
  * Faire de même avec les 1500 ou 1501 lignes nouvelles à insérer mais
    avec les nombres pairs,
  * Dans la même colonne (la 9ème par exemple si vous avez un tableau
    sur 8 colonnes), dans la cellule de la ligne 1501 de cette colonne
    saisir le chiffre 2,
  * dans la cellule de la ligne 1502 de cette colonne saisir le chiffre 4,
  * sélectionner les cellules contenant les chiffres 2 et 4,
  * amener votre souris dans le carré noir situé en bas à droite de la
    cellule du bas et quand le symbole de la souris devient une croix
    noire, appuyer sur le bouton de gauche de la souris et déplacer la
    vers le bas jusqu'à la dernière ligne des lignes à rajouter. Cette
    colonne devrait alors être remplie que de nombres pairs rangés dans
    l'ordre croissants.

Voici les nouvelles étapes...

  * Dupliquer la feuille de calcul qui contient le tableau. On a donc au
    moins 2 feuilles de calcul. La première qui contient le tableau
    initial et que je vais appeler Sheet1 et la deuxième qui est une
    copie de Sheet1 que je vais appeler Sheet2.
  * Dans la feuille Sheet2, sélectionner toutes les cellules du tableau
    et cliquer sur la touche "Suppr" pour effacer toutes les données et
    que les données (on garde les cellules fusionnées).
  * Dans une colonne non utilisée (la 9ème par exemple si vous avez un
    tableau sur 8 colonnes, c'est à dire la colonne "I"), dans la
    cellule de la 1ère ligne de cette colonne saisir le chiffre 1,
  * Dans la cellule de la 2ème ligne de cette colonne saisir le chiffre 2,
  * Sélectionner les cellules contenant les chiffres 1 et 2,
  * Amener votre souris dans le carré noir situé en bas à droite de la
    cellule du bas et quand le symbole de la souris devient une croix
    noire, appuyer sur le bouton de gauche de la souris et déplacer la
    souris vers le bas jusqu'à la dernière ligne du tableau (ligne 3000
    normalement). Cette colonne devrait alors être remplie de nombres de
    1 à 3000 rangés dans l'ordre croissant.
  * Dans la cellule A1 de la feuille Sheet2, copier la formule suivante
    =IF(INDEX($Sheet1.$A$1:$H$3000;MATCH($I1;$Sheet1.$I$1:$I$3000;0);COLUMN(A1))="";"";INDEX($Sheet1.$A$1:$H$3000;MATCH($I1;$Sheet1.$I$1:$I$3000;0);COLUMN(A1)))
    Il faut adapter cette formule au fichier réel : Sheet1 est le nom de
    la première feuille de calcul, $A$1:$H$3000 est la plage de cellule
    du tableau, $I1 est la première cellule de la 9ème colonne qui
    contient les nombres de 1 à 3000.
  * Copier la cellule A1 de la feuille Sheet2,
  * Sélectionner toutes les cases du tableau dans la feuille Sheet2,
  * Faire ensuite un collage spécial en ne cochant que la case "formule"
    dans la partie sélection et en laissant le reste par défaut. Le
    tableau devrait alors être rempli comme voulu.
  * Pour enlever les formules et ne garder que le contenu des cellules,
    sélectionner toutes les cases du tableau dans la feuille Sheet2,
  * Copier ces cellules,
  * Faire ensuite un collage spécial en cochant les cases Texte,
    Nombres, Date, et Format dans la partie sélection et en laissant le
    reste par défaut. Le tableau devrait alors être rempli comme voulu.

Voici un lien vers un fichier test.

  * La première feuille contient le tableau initial (sur 30 lignes et
    pas 3000),
  * La deuxième une copie du tableau puis effacement des données,
  * La troisième le tableau avec les formules,
  * La quatrième, le tableau fini,

https://framadrop.org/r/2gNNjFn0WR#YlogJPdIF4sYvXoImmJv6/C/72R1hu4f0uo+XMppnFg=
(disponible 60jours)

Si le fichier n'est pas confidentiel, je peux éventuellement essayer de le faire sur le fichier réel.

Cordialement.
Hervé ROUSSEL