Inserer une ligne dans une feuille d'un classeur

Résolu/Fermé
jacques681 Messages postés 5 Date d'inscription dimanche 19 janvier 2014 Statut Membre Dernière intervention 21 mars 2014 - 21 mars 2014 à 18:07
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 24 mars 2014 à 21:21
Bonjour,

Je possède une classeur contenant 6 pages. Cela me sert chaque mois pour

faire un état de mon stock. Je passe dans mon hall et renseigne la quantité en

stock.
Chaque page possède 40 lignes et 5 colonnes, une entête et un pied de

page.
Pour connaitre l'emplacement d'un produit dans mon hall je renseigne dans

la première colonne le numéro de rangée. C'est facile cela va de 1 a 85

rangée.
Mais il se peu que dans une même rangée j'ai 4 produits différents. Par

exemple si la rangée 56 a 3 produits pour pouvoir les différencier j'ai

renseigné 56A produit X
56B produit y
56c produit z

Ce qui explique que pour mes 85 rangées j'ai besoin de 6 feuilles qui une

fois mes relevés fait seront remis en comptabilité.

Le soucis c'est que mon stock variant chaque mois je suis obligé de supprimer

ou insérer des lignes.
Mais cette suppression n'agit que sur une feuille. Je voudrai par exemple

si j'incère une ligne feuille 3 que tout ce qui suis soit décalé sur les

autres feuilles. Actuellement si je fais cela ma page 3 se retrouve avec 41

ligne au lieu de 40.
J'ai vaguement réussi quelque chose mais alors ca me décale aussi l'entête

de la feuille suivante.
Idem si je supprime une ligne ca me réorganise pas toutes les feuilles.

JE ne sais pas trop comment faire. Peut être regrouper tout sur une seule

feuilles ca s'simplifierait tout mais comment obtenir l'entête et le pied de

page lors de l'impression?

Merci de votre aide



A voir également:

12 réponses

Chandler Kezer Messages postés 11 Date d'inscription lundi 17 mars 2014 Statut Membre Dernière intervention 26 mars 2014 55
21 mars 2014 à 18:13
sélectionner une des lignes existante aller au menu insertion et cliquer sur ligne
0
Merci de ta réponse

En faisant la méthode que tu propose cela fonctionne sur la feuille en rajoutant une ligne, ce qui fait que ma feuille qui faisait 40 lignes en fait a présent 41 ce que je ne veux pas.
Ce que je veux c'est qu'en rajoutant une ligne sur une feuille cela décale aussi toute les lignes sur les feuilles suivantes pour toujours avoir mes 40 lignes par feuille, sauf sur la dernière qui elle en aura une de plus.
0
Merci de ta réponse

J'ai testé ta méthode mais cela me crée une ligne supplémentaire sur toute les feuilles suivantes.
Ce que je voudrai c'est bloquer chaque feuille avec un nombre maxi de 40 lignes.
Quand ces 40 lignes sont atteintes sur une feuille, ce décale sur la feuille suivante ainsi de suite jusqu'a la dernière feuille.

Je me suis peut etre mal exprimé (en me relisant) En fait c'est toutes les données inscrite sur chaque ligne dans mon tableau qui doivent se décaler sur les lignes suivantes avec un maximum de 40 lignes de données par feuille.
JE suis entrain d'essayer de mettre en place peut etre une macro pour faire cela mais je suis un peu novice......:))
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
22 mars 2014 à 12:19
Bonjour

Si j'ai compris ton pb, je ne vois qu'une macro pour faire ça
Un début de réponses dans ce sens
https://www.cjoint.com/?3CwmsVCMdA8

Cdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whouahh un grand merci

Sur ton fichier que tu m'as fait parvenir ça fonctionne nickel comme je voudrai.

J'ai plus qu'a adapter le code a mon fichier!!! C'est une autre paire de manche çà!!

En tous les cas je te tiens au courant dès que j'ai mis en place le code sur mon fichier!!! :)))
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
22 mars 2014 à 12:37
Il y aura peut être un pb avec la fin des données
Est ce que ton fichier comporte toujours 6 feuilles, ou est qu'il peut y en vaoir moins
0
il peut y avoir moins de 6 feuilles ou plus. Au maximum j'aurai 7 feuilles.
J'ai donc créé mon classeur avec 7 feuilles au cas ou, mais actuellement la 6e feuille n'est remplit qu'a moitié et je pense pas atteindre la 7eme.
Mais sait on jamais.

J'ai intégré ton code a mon classeur mais j'obtiens une erreur sur cette ligne:
ReDim T(1 To nblt, 1 To nbcf)

Pourrais tu m'expliquer a quoi correspond cette ligne?
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
22 mars 2014 à 13:45
La méthode consiste à transférer toutes les lignes (sauf les en têtes) dans le tableau T
nblt (nombre de ces lignes) est calculé dans cette partie de la procédure
nblt=0
For nuf = 1 To nbf
lifin = Sheets(nuf).Range("A" & Rows.Count).End(xlUp).Row
nblt = nblt + lifin - 1
Next nuf
Quand tu es dans le deboggage (sur la ligne jaune) , passes le curseur sur les variables nblt et lifin histoire de voir leur valeur

Plus généralement, avant exécution, mets un point d'arrêt dans la marge du code et fais une exécution pas à pas (touche F8), ça te permet de voir si les variables prennent les valeurs attendues

Bon courage
0
ok merci

Je vais potasser tout cela ce soir

Au fait comment il c'est que l'entete est les 5 premieres lignes de chaque feuille?
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
22 mars 2014 à 14:39
avec prise en compte du nb de lignes de l'entête
https://www.cjoint.com/?3CwoMBXK9HQ
0
J'avance

J'ai réussi a mettre en application ton code sur mon fichier. Les données sont traitées comme je le souhaitais.
En ajoutant une ligne sur une feuille ca me décale bien toutes les données d'une ligne en gardant bien 30lignes par feuilles. La dernière feuille contient bien une ligne de donnée en plus.

Par contre j'ai un autre soucis. Mon tableau a été créé avec une bordure autour de chaque ligne. Donc en ajoutant une ligne sur une feuille, les données avec la bordure sont décalées d'une ligne. Jusque la normal. J'exécute le code les données sont bien traités, mais je me retrouve avec une ligne vide de données mais entouré d'une bordure.

J'ai essayé avec ton fichier en créant une bordure autour de chaque ligne et le même phénomène se produit

Existe t'il une solution? Si non pas grave il me suffit de supprimer manuellement cette dernière ligne vide
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
24 mars 2014 à 11:32
0
Voila un grand merci pour ton aide.
Avec ton dernier fichier j'ai reussi a faire un truc correct. Avec un "mix" de ce que j'ai fait hier plus ton fichier de ce jour ca marche impec!!!
Un grand merci. Cela m'a permis aussi d'en apprendre un peu plus!!!! :))
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
24 mars 2014 à 21:21
De rien

si c'est fini, peux tu mettre le problème à résolu (en haut à droite de ton premier message)

Bonne suite
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
22 mars 2014 à 11:53
Bonjour

Vous pouvez ajouter ou supprimer une ligne sur toutes vos feuilles en même temps
Cliquer sur l'onglet de la première feuille à traiter puis appuyez sur la touche flèche majuscule et cliquez sur la dernière feuille ou vous voulez ajouter ou supprimer une ligne.
Pour finir l'ensemble des feuilles étant sélectionné ajoutez ou supprimez une ligne cette opération sera alors exécuté sur toutes les feuilles sélectionnées
Vous pouvez aussi faire du formatage, des formules, ... en sélection multi-feuilles
-1