Excel VBA
Résolu
soleil_levant
Messages postés
393
Date d'inscription
Statut
Membre
Dernière intervention
-
soleil_levant Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
soleil_levant Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon problème c'est que je veux copier les lignes d'une feuille1 vers plusieurs feuilles du même classeur. Chaque autres feuille possède un nom. Les lignes de ma feuille1 contiennent une cellule avec le même nom de ces feuilles.
Résumé, si j'ajoute une ligne dans ma feuille1, suivant la cellule 'Agence1', la ligne va être copiée vers la feuille au même nom Agence1
c'est vraiment la galère, je suis pas très doué en VBA c'est peut être la solution :-)
Merci d'avance
Mon problème c'est que je veux copier les lignes d'une feuille1 vers plusieurs feuilles du même classeur. Chaque autres feuille possède un nom. Les lignes de ma feuille1 contiennent une cellule avec le même nom de ces feuilles.
Résumé, si j'ajoute une ligne dans ma feuille1, suivant la cellule 'Agence1', la ligne va être copiée vers la feuille au même nom Agence1
c'est vraiment la galère, je suis pas très doué en VBA c'est peut être la solution :-)
Merci d'avance
A voir également:
- Excel VBA
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
bonjour
Tu peux le faire avec une macro événementielle à copier dans ta feuille VBA de saisie (mode d'emploi)
J'ai supposé que ton titre "Agence1" est en ligne 1 de ta feuille de saisie si ce n'est pas le cas tu changes la valeur dans "Cells(1, sel.Column).Value"
Tu peux le faire avec une macro événementielle à copier dans ta feuille VBA de saisie (mode d'emploi)
Private val As Variant Private Sub Worksheet_Change(ByVal sel As Range) If Cells(1, sel.Column).Value = "Agence1" And val = "" Then Rows(sel.Row).Copy _ Destination:=Sheets(sel.Value).Cells(Sheets(sel.Value).UsedRange.Rows.Count + 1, 1) End If End Sub Private Sub Worksheet_SelectionChange(ByVal sel As Range) If sel.Count = 1 Then val = sel.Value End Sub
J'ai supposé que ton titre "Agence1" est en ligne 1 de ta feuille de saisie si ce n'est pas le cas tu changes la valeur dans "Cells(1, sel.Column).Value"