> Tous les forums > Forum Bureautique
 Excel 2007, insertion ligne vierge en automatique
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Cecilia2
  Posté le 18/03/2015 @ 07:00 
Aller en bas de la page 
Petite astucienne

Bonjour,

J’ai un fichier avec 5000 lignes environ dont une colonne qui a des nombres croissants mais certains manquent.
Je souhaiterai insérer des lignes vides en automatique avec une macro ou autre.

Exp : Colonne L 1,2,3,5,11, serait-il possible d’insérer une ligne vierge entre le 3 et le 5 puis 6 lignes vierges entre le 5 et le 11 etc…

Merci par avance,

Bonne journée

Cécilia

Publicité
bernard22
 Posté le 18/03/2015 à 09:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Pour moi, j'utiliserai la fonction recherchev

Voir fichier joint

Fichier

Cecilia2
 Posté le 18/03/2015 à 09:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Merci pour cette réponse.

Je pense que je me suis pas bien exprimée. Je souhaite que soit inséré des lignes vierges pour les numéros manquants. C'est un fichier qui fait 3000 ligne et plus.

Exp. : dans la colonne si 1,2,3,5,10 - 1 ligne vierge insérée entre le 3 et le 5 et 4 lignes vierges entre le 5 et le 10

Merci

Cécilia

bernard22
 Posté le 18/03/2015 à 09:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour

Merci de joindre le fichier ou une partie, je pensais avoir bien compris.

Cecilia2
 Posté le 18/03/2015 à 09:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Merci encore,

Hier soir j'ai fait ma demande et il y avait un fichier joint le titre est le suivant : Excel 2003, insertion ligne vierge

A+

Cecilia2
 Posté le 18/03/2015 à 10:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Ci-joint ce que je souhaiterai si possible.

http://cjoint.com/?3CskyXGdeAK

Merci

bernard22
 Posté le 18/03/2015 à 12:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

J'avais répondu sur l'ancien post

Voici ma solution

http://cjoint.com/?ECsmExKzQZd

Pour les explications voir l'autre post

Bon appétit

Cecilia2
 Posté le 18/03/2015 à 13:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Merci,

ça correspond pas au résultat du fichier ci-dessous.

http://cjoint.com/?3CskyXGdeAK

Bonne après-midi

bernard22
 Posté le 18/03/2015 à 20:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

La différence me parait infime, seulement les N° de lignes. pas beaucoup de modif à faire, ou alors, je ne comprends pas. Tenez moi au courrant

Publicité
Cecilia2
 Posté le 18/03/2015 à 21:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

C'est un tableau avec plein de données, qui fait 1000 lignes environ et qui en fera beaucoup plus à l'insertion de lignes vierges.

Bonne soirée.

chriss2712
 Posté le 19/03/2015 à 10:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

j'ai la solution, mais je ne sais pas comment te joindre le fichier, merci de me donner la marche à suivre.

bernard22
 Posté le 19/03/2015 à 17:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Un peu en retard...

J'ai un peu modifié, mais il me semble que ma solution correspondait à votre demande.

1 - Nommer "origine" la zone de données dans votre fichier

2 - Ouvrir un seconde fenêtre

3 - Dans cette nouvelle fenêtre créer la colonne A de 1 Au plus grand nombre de votre liste d'origine.

4 - Créer en Ligne 1 une suite de nombre de 1 à 85 (le nombre de colonnes de votre tableau origine

5 - coller en C2 la Formule "=SI(ESTERREUR(RECHERCHEV($A2;origine;B$1;FAUX));"";RECHERCHEV($A2;origine;B$1;FAUX))

6 - Recopier cette formule dans tout le tableau

7 - Sélectionner la zone B2:CH111

8 - Faire un copier/collage Spécial des valeurs

9 - Le tour est joué. Sauf incompréhension totale de ma part

Bonne Soirée.

Fichier Du 19 Mars



Modifié par bernard22 le 19/03/2015 17:35
bernard22
 Posté le 19/03/2015 à 17:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Pour chriss2712

Un moyen de joindre un fichier :

1 - Création du lien

Aller sur le site

www.cjoint.com

Choisir le fichier, puis aller jusque "créer le lien Cjoint.com"

Attendre l'ouverture automatique d'une nouvelle page

Dans cette page, cliquer sur "Copier le lien"

2 - Insertion du lien

Dans la boite de dialogue de pc astuce s, cliquer sur le 4 ème icône représentant un maillon de chaine

Dans la fenêtre qui s'ouvre, coller le lien dans la zone "URL"

Changer éventuellement le texte de description " optionnel"

Puis "OK"

Votre solution sera intéressante, bonne soirée



Modifié par bernard22 le 19/03/2015 17:35
corinthien
 Posté le 19/03/2015 à 21:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir, une petite macro qui ne concerne QUE l'exemple que vous avez donné, en espérant que vos chiffres soient en ordre croissant.

Sub InserLignes()
Dim NumL As Double, R As Double

NumL = Cells(65535, 1).End(xlUp).Row

Do Until NumL < 3

If Cells(NumL - 1, 1) <> Cells(NumL, 1) - 1 Then

For R = 1 To (Cells(NumL, 1) - 1) - Cells(NumL - 1, 1)

Rows(NumL & ":" & NumL).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Next

End If

NumL = NumL - 1

Loop

End Sub

http://cjoint.com/?ECtvQhL7FhY



Modifié par corinthien le 19/03/2015 21:30
Cecilia2
 Posté le 19/03/2015 à 21:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

Merci à tous pour vos réponses.

Corinthien la macro me convient parfaitement.

Bonne soirée à tous

ferrand
 Posté le 19/03/2015 à 22:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

@corinthien : ça va marcher, mais t'es sûr que t'as pas plus compliqué comme calcul !

corinthien
 Posté le 19/03/2015 à 22:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

@ ferrand : si tu voit plus simple, je suis preneur.

Publicité
ferrand
 Posté le 19/03/2015 à 22:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

D'abord, tu constates que la numérotation commence ligne 2, et qu'en fin d'opération le numéro le plus élevé, mettons n, se trouvera ligne n+1.

Tu récupères donc cette valeur (plutôt que le numéro de la ligne où il se trouve), et une simple boucle For... Next de 2 à n te permet de tester si chaque valeur est supérieure à ce numéro de ligne -1 ; si c'est le cas, tu insères une ligne (et en prime tu peux ajouter le numéro manquant dans la foulée).

Du point de vue programmation (le reste), tant que j'y suis, pourquoi des variables de type Double alors qu'on ne travaille que sur des entiers ? (Long était le plus logique). Et Rows(i).Insert suffit pour insérer une ligne (arguments [facultatifs] inutiles dans ce cas).

Cordialement.

corinthien
 Posté le 19/03/2015 à 22:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Si je comprends bien ton raisonnement, la boucle For ne couvrira pas la totalité des lignes étant donné que n (ou n+1) et défini avant la boucle.

Il faudrait incrémenter n lors de chaque insertion de ligne, et si je ne m'abuse, ce n'est pas possibles dans la boucle For.

Pour les variables et le Rows(i), je suis tout à fait d'accord.

A te lire.

ferrand
 Posté le 19/03/2015 à 23:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pas du tout ! Fais un essai. Rien ne l'empêche d'aller jusqu'à la ligne n, et elle aura inséré les lignes manquantes au fur et à mesure. Et la ligne n suffit, la dernière valeur en n+1 sera automatiquement bien placée.

corinthien
 Posté le 19/03/2015 à 23:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

J'essayerai ça demain dans la soirée, je vais me coucher.

Merci.

Cecilia2
 Posté le 23/03/2015 à 12:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

La macro suivante est pour la colonne A, que dois-je modifier afin qu'elle s'adapte à la colonne L

http://cjoint.com/?ECtvQhL7FhY

Sub InserLignes()

Dim NumL As Double, R As Double
NumL = Cells(65535, 1).End(xlUp).Row
Do Until NumL < 3
If Cells(NumL - 1, 1) <> Cells(NumL, 1) - 1 Then
For R = 1 To (Cells(NumL, 1) - 1) - Cells(NumL - 1, 1)
Rows(NumL & ":" & NumL).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next
End If
NumL = NumL - 1
Loop

End Sub

Merci par avance,

Cécilia

chriss2712
 Posté le 23/03/2015 à 12:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Pour Bernard22, merci pour le coup de main.

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
113,60 €SSD SanDisk Ultra 3D 1 To à 113,60 €
Valable jusqu'au 26 Février

En cette période de forte remontée des prix des SSD, Amazon fait une belle promotion sur le SSD SanDisk Ultra 3D d'une capacité de 1 To qui passe à 113,60 € livré gratuitement. On le trouve ailleurs autour de 160 €. Une bonne affaire pour ce SSD performant qui offre des débits de 560 Mo/s en lecture et 530 Mo/s en écriture. Cette version est garantie 3 ans.


> Voir l'offre
GratuitJeu PC Faeria gratuit
Valable jusqu'au 27 Février

Epic Game Store offre actuellement le jeu PC Faeria. Faeria est un jeu de cartes. Construisez des decks incroyables et façonnez le champ de bataille dans des combats épiques. Élevez des montagnes, bâtissez des forêts, remplissez des lacs, ou maîtrisez le sable du désert. Tracez votre propre chemin vers la victoire.


> Voir l'offre
32,99 €Imprimante multifonction HP DeskJet 2620 + Instant Ink 6 mois à 32,99 €
Valable jusqu'au 23 Février

Cdiscount propose actuellement l'imprimante multifonction HP DeskJet  2620 à 32,99 €. Cette imprimante 3 en 1 fait donc imprimante, photocopieur et scanner. Elle dispose d'un chargeur automatique de documents. Elle fonctionne avec 2 cartouches d'encre (une noire et une 3 couleurs). Avec l'imprimante, vous pouvez également bénéficier de 6 mois d'abonnement gratuit au service HP Instant Ink où vos cartouches sont automatiquement commandées par votre imprimante.  Afin de bénéficier du service vous devrez sélectionner un forfait parmi les quatre forfaits existants (15, 50, 100, 300 pages) en fonction de votre prévision de consommation. HP vous enverra ainsi gratuitement assez d'encre pour imprimer jusqu'à 300 pages / mois pendant 6 mois. Vous pouvez bien sûr résilier ce forfait à la fin des 6 mois (ou bien passer au forfait gratuit qui offre 15 pages / mois). Notez que ce service n'est pas obligatoire et que si vous ne souhaitez pas y souscrire, vous pouvez acheter vous même vos cartouches.


> Voir l'offre

Sujets relatifs
Excel 2003, insertion ligne vierge
Macro - Insérer une ligne vierge sous Excel 2007
insertion ligne dans "excel 2007"
tri automatique esur excel 2007
Excel 2007 ligne en couleur à chaque changement d'abréviation
Ouverture automatique impossible pour excel 2007
Calcul automatique word ou excel 2007
Excel 2007 insertion texte rapidement
Excel 2007 insertion lignes avec formules
insertion automatique sous word 2007
Plus de sujets relatifs à Excel 2007, insertion ligne vierge en automatique
 > Tous les forums > Forum Bureautique