Modif simultanée 1ere colonne de plusieurs onglets et pouvoir insérer ligne

Bonjour à tous,

J'espère que vous allez bien,

Plus que débutant en VBA je suis perdu,

J'ai un classeur Excel avec 6 onglets : "Contact", "Marketing", "Spécificités", "Evaluation fournisseur", "Vente", "Achat"

Dans chacun de ses onglets une liste de fournisseur identiques.

Les colonnes A à D sont elles aussi identiques dans tous les onglets mais les colonnes d'après diffèrent selon les onglets.

J'ai trouvé une macro pour que quand je modifie les colonnes A à D dans l'onglet "Evaluation fournisseur", les modifications se fassent automatiquement sur les autres onglets.

Private Sub Worksheet_Change(ByVal Target As Range) Sheets("Achat").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value Sheets("Vente").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value Sheets("Stratégie Marketing").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value Sheets("Spécificités").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value Sheets("Contacts").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value End Sub

La macro fonctionne bien, seulement, lorsque j'insère une ligne pour ajouter un fournisseur à la liste dans l'onglet "évaluation fournisseur" alors la ligne est inséré seulement dans les colonnes A à D des autres onglets mais pas sur le reste de la feuille ce qui décale vers le haut les valeurs des cellules ne se trouvant pas dans les colonnes A à D et par conséquent les informations se retrouvent fasse au mauvais fournisseur.

Auriez-vous une solution pour pallier à se problème s'il vous plait ?

Je vous joins un fichier avec la même structure, l'original étant confidentiel.

12fichier-forum.xlsm (133.00 Ko)

Merci d'avance à tous !

Slt Alexandre et

tu peux ajouter à ton code un truc du genre

Dim Lastrow As Integer
Lastrow = Sheets("Achat").Cells(Sheets("Achat").Rows.Count, "A").End(xlUp).Row
Sheets("Achat").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value
Sheets("Achat").Range("E" & Lastrow + 1 & ":Q" & Lastrow + 1).Value = Sheets("Achat").Range("E" & Lastrow & ":Q" & Lastrow).Value

J'ai fait juste pour le feuille Achat, mais c'est juste pour tester.

Slt Alexandre et

tu peux ajouter à ton code un truc du genre

Dim Lastrow As Integer
Lastrow = Sheets("Achat").Cells(Sheets("Achat").Rows.Count, "A").End(xlUp).Row
Sheets("Achat").Range("A3:D1000").Value = Sheets("Evaluation fournisseur").Range("A3:D1000").Value
Sheets("Achat").Range("E" & Lastrow + 1 & ":Q" & Lastrow + 1).Value = Sheets("Achat").Range("E" & Lastrow & ":Q" & Lastrow).Value

J'ai fait juste pour le feuille Achat, mais c'est juste pour tester.

Bonjoue M3ellem1 et merci beaucoup pour ton aide !

J'ai ajouter cela au code et en effet ça à l'air de fonctionner ! Le seul inconvénient est que la ligne insérée prend les valeurs de la ligne en dessous dans l'onglet Achat pour les colonnes E à Q, est-ce possible qu'elle s'insère vide sur cette plage ?

Encore merci !

Après plusieurs essais, je me suis rendus compte que les lignes en dessous de la ligne insérée se décalent mise à part la dernière ligne.

Quelqu'un aurait une autre solutions SVP ?

Slt,

je ne sais pas si j'ai ben compris ce que tu veux faire mais voici un test avec un bouton, à tester!

10fichier-forum-1.xlsm (134.83 Ko)

Bonne soirée

Rechercher des sujets similaires à "modif simultanee 1ere colonne onglets pouvoir inserer ligne"