Microsoft 365 Copier une ligne dans un autre onglet selon la valeur d'une cellule

  • Initiateur de la discussion Initiateur de la discussion pbpb76
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pbpb76

XLDnaute Nouveau
Bonjour n'ayant aucune compétence en codage, je sollicite votre aide. J'ai besoin de copier plusieurs lignes d'une feuille vers une autre feuille selon la valeur d'une cellule. J'ai une liste d'objets S103 , S104 et S105 dans la colonne A et leurs valeurs respectives dans les colonnes B et C nommées ValB et ValC. Je souhaite recopier les Val B et C de chaque objet dans une feuille spécifique à chaque objet.
Il faudra que je puisse rajouter ultérieurement des valeurs différentes pour les mêmes objets et des nouveaux objets . Dans ce dernier cas le recopiage vers un nouvel onglet devra se faire automatiquement
Merci de votre aide
 

Pièces jointes

Solution
Bonjour,
Une propsition en Pj
Dans cet exemple les différentes feuilles doivent exister
La mise à jour se fait à la sélection des feuilles correspondantes
Code à placer dans le ThisWorkbook
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim Plage
    If Sh.Name <> "Feuil1" Then
        With Feuil1
            Set Plage = .UsedRange
            Sh.Cells.Clear
            Plage.AutoFilter Field:=1, Criteria1:=Sh.Name
            Plage.Offset(, 1).Resize(, Plage.Columns.Count - 1).SpecialCells(xlCellTypeVisible).Copy Sh.[a1]
            Plage.AutoFilter
        End With
    End If
End Sub
Bonjour,
Une propsition en Pj
Dans cet exemple les différentes feuilles doivent exister
La mise à jour se fait à la sélection des feuilles correspondantes
Code à placer dans le ThisWorkbook
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim Plage
    If Sh.Name <> "Feuil1" Then
        With Feuil1
            Set Plage = .UsedRange
            Sh.Cells.Clear
            Plage.AutoFilter Field:=1, Criteria1:=Sh.Name
            Plage.Offset(, 1).Resize(, Plage.Columns.Count - 1).SpecialCells(xlCellTypeVisible).Copy Sh.[a1]
            Plage.AutoFilter
        End With
    End If
End Sub
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour