Ajouter des lignes en fonction de la valeur d'une cellule.
Résolu/Fermé
supermajo
Messages postés
19
Date d'inscription
dimanche 16 décembre 2018
Statut
Membre
Dernière intervention
19 octobre 2023
-
16 déc. 2018 à 19:09
supermajo Messages postés 19 Date d'inscription dimanche 16 décembre 2018 Statut Membre Dernière intervention 19 octobre 2023 - 23 janv. 2019 à 16:01
supermajo Messages postés 19 Date d'inscription dimanche 16 décembre 2018 Statut Membre Dernière intervention 19 octobre 2023 - 23 janv. 2019 à 16:01
A voir également:
- Vba insérer une ligne si cellule contient
- Si cellule contient texte alors ✓ - Forum Excel
- Aller à la ligne dans une cellule excel - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
- Si une cellule contient un mot alors ✓ - Forum Excel
- Insérer une vidéo dans powerpoint - Guide
3 réponses
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
16 déc. 2018 à 19:34
16 déc. 2018 à 19:34
Bonjour supermajo
Onglet Developpeur - Visual basic (ou ALT + F11) pour ouvrir l'éditeur VBA
Insertion - Module puis copier coller la macro suivante dans la page et fermer l'éditeur
Onglet Developpeur - Macris - Selctionner ajout puis Executer
Cdlmnt
Via
Onglet Developpeur - Visual basic (ou ALT + F11) pour ouvrir l'éditeur VBA
Insertion - Module puis copier coller la macro suivante dans la page et fermer l'éditeur
Sub ajout() Dim Ligne As Long Ligne = Columns(4).Find("*", , , , xlByColumns, xlPrevious).Row For n = Ligne To 1 Step -1 nl = Range("D" & n) - 1 If nl > 0 Then For x = 1 To nl Rows(n + 1 & ":" & n + 1).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Next End If Next End Sub
Onglet Developpeur - Macris - Selctionner ajout puis Executer
Cdlmnt
Via
16 déc. 2018 à 20:14
Merci pour ta réponse rapide.
Je viens de tester.
Des lignes vierges se sont ajoutées, mais j'ai eu un message d'erreur
"erreur d'exécution '13'
Incompatibilité de type
et quand j'ai cliqué sur Déblocage c'est la ligne
nl = Range("D" & n) - 1
qui était en jaune.
Je ne comprends pas ce que ça veut dire.
Est-ce que c'est parce que le contenu des cellules des colonnes ne se sont pas dupliqués ?
Encore merci pour ton aide précieuse.
Cdlt
17 déc. 2018 à 12:35
Voici le lien vers le fichier.
https://www.cjoint.com/c/HLrlHRU3BEz
La colonne D est en format standard...
Faut-il la mettre en format nombre ?
Merci encore
17 déc. 2018 à 13:40
Le bug vient simplement de la ligne de titre qui bien sur n’est pas un nombre
Il suffit de modifier la ligne de macro
For n = Ligne To 1 Step -1
en
For n = Ligne To 2 Step -1
Pas besoin de modifier le format de la colonne
Cdlmnt
Via
17 déc. 2018 à 14:20
Bien cordialement