> 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

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.

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.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Chargeur rapide USB-C Anker Nano II 65W à 25,99 €
25,99 € 35 € -26%
@Amazon
Lot de 3 x Mastic acrylique haute performance SIKA SikaSeal 184 (maçonnerie blanc, 3x300 ml) à 11,19 €
11,19 € 16 € -30%
@Amazon
Hub USB C 5 en 1 UGREEN (HDMI 4K, 1xUSB 3.0, 2xUSB 2.0, 1xUSB C PD 100W) à 13,66 €
13,66 € 25,99 € -47%
@Amazon
32 Go de mémoire DDR5 Crucial Pro (2x16 Go) 6000 MHz CL36 à 90,32 €
90,32 € 129 € -30%
@Amazon Allemagne
Disque dur externe portable Seagate Ultra Touch 5 To USB C + 2 ans Service Rescue à 138,99 €
138,99 € 159,99 € -13%
@Amazon
8 Go de mémoire SODIMM DDR4 Crucial 2400 MHz à 9,99 €
9,99 € 17 € -41%
@Amazon

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