Ajouter – supprimer des lignes en VBA sans perturber les formule
Résolu/Fermé
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
-
24 mars 2016 à 23:28
mijean94 Messages postés 413 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 12 septembre 2024 - 26 mars 2016 à 22:24
mijean94 Messages postés 413 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 12 septembre 2024 - 26 mars 2016 à 22:24
A voir également:
- Supprimer des lignes vba
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer pub youtube - Accueil - Streaming
- Impossible de supprimer un fichier - Guide
- Supprimer liste déroulante excel - Guide
3 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
25 mars 2016 à 10:23
25 mars 2016 à 10:23
Bonjour,
Pour l'ajout de ligne je te suggère cette procédure plus simple :
Pour supprimer des lignes lorsqu'elles sont vides, cela ne va pas être possible puisque tu as des formules et donc la ligne n'est pas vide.
Si tu supprimes en colonne C, par exemple ta formule en colonne B des lignes suivantes passe en erreur fatalement ;-)
Pour l'ajout de ligne je te suggère cette procédure plus simple :
Sub Ajout_ligne() ActiveSheet.Unprotect Application.ScreenUpdating = False Range("ligne_ref").Insert Shift:=xlDown Cells(Range("ligne_ref").Row, 2).Offset(-2, 0).Resize(2, 1).FillDown Cells(Range("ligne_ref").Row, 10).Offset(-2, 0).Resize(2, 1).FillDown Application.ScreenUpdating = True ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False End Sub
Pour supprimer des lignes lorsqu'elles sont vides, cela ne va pas être possible puisque tu as des formules et donc la ligne n'est pas vide.
Si tu supprimes en colonne C, par exemple ta formule en colonne B des lignes suivantes passe en erreur fatalement ;-)
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
25 mars 2016 à 23:42
25 mars 2016 à 23:42
Bonjour,
Comme tu tiens vraiment à avoir tes suppressions, les voici :
https://www.cjoint.com/c/FCzwHV2lual
Tu remarqueras que je n'ai pas utilisé ta formule pour derlig car elle ne fonctionne pas. Malgré ton info en ligne cachée, le résultat est faux, tout bonnement parce que "end(xlup)" ne tient compte que des lignes visibles.
Par contre avec ma méthode tu vas pouvoir supprimer uniquement les lignes vides entre C et J.
Comme tu tiens vraiment à avoir tes suppressions, les voici :
https://www.cjoint.com/c/FCzwHV2lual
Tu remarqueras que je n'ai pas utilisé ta formule pour derlig car elle ne fonctionne pas. Malgré ton info en ligne cachée, le résultat est faux, tout bonnement parce que "end(xlup)" ne tient compte que des lignes visibles.
Par contre avec ma méthode tu vas pouvoir supprimer uniquement les lignes vides entre C et J.
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
26 mars 2016 à 00:03
26 mars 2016 à 00:03
re,
l'importance c'est le résultat, est il est préférable d'avoir une solution par une personne qui connaît le ode qu'un bricolage comme j'essaye de le faire.
Je ferais les test demain matin.
Merci pour ton aide.
Cordialement
l'importance c'est le résultat, est il est préférable d'avoir une solution par une personne qui connaît le ode qu'un bricolage comme j'essaye de le faire.
Je ferais les test demain matin.
Merci pour ton aide.
Cordialement
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
26 mars 2016 à 00:24
26 mars 2016 à 00:24
Re,
Je n’ai pas résisté à faire des essais.
Ça marche bien. Demain matin je l’incorpore avec mes autres code pour vérifier le fonctionnement de l’ensemble.
J’ai une autre question ou je ne trouve pas la réponse,
Le code ci-dessous copie la formule de la colonne K dans la nouvelle ligne.
Est-il possible de copier le commentaire qui est dans une cellule avec la copie.
Par exemple si j’ajoute le code qui suit, que faut-il remplacer pour avoir le commentaire copié ?
Merci de ton aide
Cordialement
Je n’ai pas résisté à faire des essais.
Ça marche bien. Demain matin je l’incorpore avec mes autres code pour vérifier le fonctionnement de l’ensemble.
J’ai une autre question ou je ne trouve pas la réponse,
Le code ci-dessous copie la formule de la colonne K dans la nouvelle ligne.
Cells(Range("ligne_ref").Row, 11).Offset(-2, 0).Resize(2, 1).FillDown
Est-il possible de copier le commentaire qui est dans une cellule avec la copie.
Par exemple si j’ajoute le code qui suit, que faut-il remplacer pour avoir le commentaire copié ?
Cells(Range("ligne_ref").Row, 3).Offset(-2, 0).Resize(2, 1).FilllDown
Merci de ton aide
Cordialement
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
26 mars 2016 à 08:36
26 mars 2016 à 08:36
Bonjour,
Voilà le code complet avec copie des commentaires s'ils existent :
Voilà le code complet avec copie des commentaires s'ils existent :
ActiveSheet.Unprotect Application.ScreenUpdating = False Range("ligne_ref").Insert Shift:=xlDown Cells(Range("ligne_ref").Row, 2).Offset(-2, 0).Resize(2, 1).FillDown 'copie formule de la colonne B Cells(Range("ligne_ref").Row, 11).Offset(-2, 0).Resize(2, 1).FillDown ' copie formule de la colonne K Cells(Range("ligne_ref").Row, 4).Offset(-1, 0).Resize(1, 5).Merge ' fusion de colonne D à H Rows(Range("ligne_ref").Row).Offset(-2).Copy Rows(Range("ligne_ref").Row).Offset(-1).PasteSpecial Paste:=xlPasteComments ' copie commentaires Application.ScreenUpdating = True ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
26 mars 2016 à 08:59
26 mars 2016 à 08:59
Bonjour,
Merci pour la réponse.
j'ai ajouter le code dans mon application et cela ne semble pas marcher.
j'ai fait l'essai avec et sans ma ligne cachée.
y a t-il quelque chose que je n'est pas fait ou compris pour le bon fonctionnement ?
voici le fichier modifié : https://www.cjoint.com/c/FCAh5jufspt
cordialement
Merci pour la réponse.
j'ai ajouter le code dans mon application et cela ne semble pas marcher.
j'ai fait l'essai avec et sans ma ligne cachée.
y a t-il quelque chose que je n'est pas fait ou compris pour le bon fonctionnement ?
voici le fichier modifié : https://www.cjoint.com/c/FCAh5jufspt
cordialement
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
26 mars 2016 à 09:05
26 mars 2016 à 09:05
Bonjour,
Est-il possible de copier le commentaire qui est dans une cellule avec la copie.
Je t'ai rajouté la copie des commentaires mais tu n'as pas de commentaires !
Qu'appelles-tu "commentaires" ?
Est-il possible de copier le commentaire qui est dans une cellule avec la copie.
Je t'ai rajouté la copie des commentaires mais tu n'as pas de commentaires !
Qu'appelles-tu "commentaires" ?
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
26 mars 2016 à 11:49
26 mars 2016 à 11:49
Re,
Dans la cellule C12, il y a un commentaire que j'avais ajouté par clic droit puis ajouter commentaire où il y a la consigne "il faut renseigner les lignes en rouge"
cordialement
Dans la cellule C12, il y a un commentaire que j'avais ajouté par clic droit puis ajouter commentaire où il y a la consigne "il faut renseigner les lignes en rouge"
cordialement
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
26 mars 2016 à 11:57
26 mars 2016 à 11:57
Re,
Dans la cellule C12, dans une cellule cachée : je répète encore mais personne ne la vois !
Dans la cellule C12, dans une cellule cachée : je répète encore mais personne ne la vois !
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
Modifié par mijean94 le 26/03/2016 à 12:30
Modifié par mijean94 le 26/03/2016 à 12:30
re,
oui elle est effectivement cachée, mais comme je l'explique dans mon post 13, cachée ou pas, il n'y a pas la copie du commentaire ?
cordialement
oui elle est effectivement cachée, mais comme je l'explique dans mon post 13, cachée ou pas, il n'y a pas la copie du commentaire ?
cordialement
25 mars 2016 à 11:51
Il me manque la fusion des lignes D à H qui n’est pas pris en comte dans la copie.
Y a-t-il une solution simple ?
Avec ton code les formules marchent bien lors de la copie, si je conserve ma ligne cachée.
Je vais chercher maintenant à résoudre le code pour la suppression des lignes. Il doit bien y avoir une solution !
Voici mon programme modifié avec ton code : https://www.cjoint.com/c/FCzkR1vcNIt
Cordialement
25 mars 2016 à 14:10
<ital><Il me manque la fusion des lignes D à H /ital>
Au lieu de lignes, ce serait plutôt des colonnes ;-)
Tu devrais t'apercevoir assez rapidement si tu veux éviter de t'arracher les cheveux que faire des fusions, surtout en utilisant les macros, n'est pas très judicieux.
Il me semble que dans ton cas au lieu de fusionner 5 colonnes avec une seule colonne agrandie tu aurais le même résultat.
25 mars 2016 à 14:18
Si j'utilise la fusion de ces colonnes c'est que dans mon programme finale, il y a toutes les cellules de ces colonne dans la partie haute du tableau, ici non visibles, qui sont utilisées pour d'autres choses.
Merci pour ta réponse.
je vais continuer à chercher la solution à mes problèmes, et je suis certain qu'il y a une solution pour qui le code est familier.
cordialement
25 mars 2016 à 18:24
C'est toi bien sûr qui fait ton tableau comme tu veux, mais regardes sur les forums ce qu'en disent ceux "pour qui le code est familier" comme tu dis.
Si tu tiens à fusionner tu rajoutes cette ligne dans le code ci-dessus entre 8 et 9 :
Pour supprimer les lignes ce n'est pas un souci, tu pars d'en bas en remontant (step -1) mais avec ton numéro de ligne par formule tu n'auras pas de ligne vide et si tu en supprimes une ta formule est brisée car ton B3 + 1 par exemple deviendra #REF! si tu supprimes la ligne 3.
25 mars 2016 à 19:55
Effectivement tu as entièrement raison pour la fusion des cellules, mais malheureusement c'est pas toujours possible pour moi de faire autrement.
Merci pour ton code, je vais tester après le repas.
Pour la partie supprimer, comme il y a la ligne cachée ou j'ai ajouté des données en B pour pouvoir la reconnaître, il me semble qu'il y aura une possibilité sans perturber les formules. Je vais chercher et peut-être poserais encore une petite question .
ça avance c'est déjà très bien. merci
cordialement