Créer 2 macros pour insérer des lignes contenant déjà formules et formats

bruxmu

XLDnaute Nouveau
Bonjour à tous/toutes,

Je gère une liste de documents.
Chaque document peut faire l'objet de versions successives, qui portent chacune un indice (0, A, B, C, etc...).
Quand je reçois un document, ou une nouvelle version d'un document existant, je dois créer une ligne supplémentaire.


Je souhaite créer 2 macros pour éviter des manipulations fastidieuses et sources d'erreurs.



La 1ère servira à créer une ligne correspondant à une nouvelle version d'un document existant :
Par exemple, si la cellule active = C11, Excel insèrera une copie de la ligne 3 au niveau de la ligne 12 (qui deviendra la 13).


La 2ème permettra de créer une ligne correspondant à un nouveau document :
En cliquant sur le bouton correspondant, Excel trouve la 1ère ligne vide sous la cellule active, et insère dessous une copie des lignes 3 et 4.
Par exemple, si la cellule active = D13, Excel insèrera une copie des lignes 3 et 4 au niveau de la ligne 17 (les actuelles lignes 17 et 18 deviendront les 19 et 20).


Dans les 2 cas, les formules qui font référence à une cellule au-dessus ou au-dessous ne doivent pas se "dérégler" lors de l'insertion de nouvelles lignes...


Malheureusement, je n'ai pas les connaissances suffisantes en VBA pour y arriver.
Quelqu'un pourrait-il m'aider ?
Merci !!!
 

Fichiers joints

Dormeur74

XLDnaute Occasionnel
Re : Créer 2 macros pour insérer des lignes contenant déjà formules et formats

Essaye ceci, mais surtout vérifie bien car ton tableau est loin d'être facile à comprendre.
 

Fichiers joints

bruxmu

XLDnaute Nouveau
Re : Créer 2 macros pour insérer des lignes contenant déjà formules et formats

Merci beaucoup !

Globalement, c'est exactement ce que je souhaitais, même s'il y a quelques petits problèmes :
– les formules de la colonne F sont modifiées lors de l'insertion d'une nouvelle ligne alors qu'elles doivent rester intègres
– il faudrait que la macro "insérer une ligne" insère obligatoirement la ligne après les lignes existantes
(ça éviterait de mauvaises manipulations, et, a priori, pas de raison qu'un nouvel indice s'intercale entre 2 indices existants)
– la macro "nouveau document" ne fonctionne pas comme je souhaiterais : il faudrait que la macro crée 2 nouvelles lignes, après la 1ère ligne vide située sous la cellule active (copie des lignes 3 et 4).
De cette façon, la feuille restera constituée d'ensembles de lignes renseignées de hauteur=12, séparées par des lignes vides de hauteur=5,25.

Bon, voilà, j'espère que je n'abuse pas trop...
En tous cas, merci encore !!!!


Dernier truc : si je veux que mon tableau comporte davantage de colonnes, il me suffit de bidouiller tes macros en remplaçant H par le nom de la colonne la plus à droite ?
 

Dormeur74

XLDnaute Occasionnel
Re : Créer 2 macros pour insérer des lignes contenant déjà formules et formats

il faudrait que la macro crée 2 nouvelles lignes, après la 1ère ligne vide
Je me suis posé la question, mais dans ce cas il me semble que les anciennes lignes devraient passer en 20 et 21 et non pas en 19 et 20. Est-ce que je me trompe ?
 

bruxmu

XLDnaute Nouveau
Re : Créer 2 macros pour insérer des lignes contenant déjà formules et formats

Merci pour ta réponse.

Dans le fichier joint, j'ai colorié :
– en noir la cellule active au moment de cliquer sur "Nouveau document"
– en orange les "lignes-sources"
– en vert les lignes insérées
– en bleu les lignes repoussées.

Pour moi, ces lignes passent bien de 17 et 18 à 19 et 20.
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas