copie série cellule selon choix menu déroulant

lologarnier

XLDnaute Nouveau
Bonjour,

Je souhaite que excel copie un série de cellules en fonction du choix d'une cellule sur un menu déroulant.

fichier joint :
onglet reporting, en G4 : choix dans une liste de "job number", correspondant a une liste de job ("jobnumber") sur l'onglet joblist

je souhaite que l'ensemble des cellules B à J de l'onglet joblist liés à un job soient copiées dans les cellules H à P de l'onglet reporting.

merci pour votre aide

Laurent
 

Pièces jointes

  • reporting_essai_201107.xls
    59.5 KB · Affichages: 45
  • reporting_essai_201107.xls
    59.5 KB · Affichages: 43
  • reporting_essai_201107.xls
    59.5 KB · Affichages: 51
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : copie série cellule selon choix menu déroulant

Bonjour Laurent, bonjour le forum,

À l'ouverture de ton fichier j'ai me message suivant :
msg.jpg
du coup, j'ai pas ouvert... Tu devrais remettre un fichier en pièce jointe.
 

Pièces jointes

  • msg.jpg
    msg.jpg
    39.3 KB · Affichages: 71
  • msg.jpg
    msg.jpg
    39.3 KB · Affichages: 71

Robert

XLDnaute Barbatruc
Repose en paix
Re : copie série cellule selon choix menu déroulant

Bonjour Laurent, bonjour le forum,

Ton fichier modifié avec le code ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans une cellule
Dim r As Range 'déclare la variable r (Recherche)
'si le changement à lieu ailleurs que dans la plage G4:G29, sort de la procédure
If Application.Intersect(Target, Range("G4:G29")) Is Nothing Then Exit Sub
If Selection.Cells.Count > 1 Then Exit Sub 'si plusieurs cellules sélectionnées, sort de la procédure
Set r = Sheets("Job List").Columns(1).Find(Target.Value, , xlValues, xlWhole) 'définit la recherche r (Recherche la valeur de la cellule modifiée dans la colonne A de l'onglet "Job List")
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence
    'copie et colle la plage correspondante
    Sheets("Job List").Range(r.Offset(0, 1), r.Offset(0, 9)).Copy Target.Offset(0, 1)
End If 'fin de la condition
End Sub
 

Pièces jointes

  • Laurent_v01.xls
    72.5 KB · Affichages: 80

Robert

XLDnaute Barbatruc
Repose en paix
Re : copie série cellule selon choix menu déroulant

Bonsoir Laurent, bonsoir le forum,

Tu copies le code que je t'ai donné. Tu ouvres ton fichier original. Tu cliques avec le bouton droit de la souris sur l'onglet Reporting (en bas) et tu choisis l'option Visualiser le code. Ça ouvre VBE (Visual Basic Editor). Dans le grand cadre à droite, tu colles le code. Tu fermes VBE ([Alt]+[F4]). Tu sauves... Ça devrait fonctionner.

Par rapport à l'exemple que tu as fourni, j'ai considéré que seule la plage G4:G29 était réactive (même si tu n'as mis la liste de choix que dans G4).
Modifie cette partie du code :
Code:
'si le changement à lieu ailleurs que dans la plage G4:G29, sort de la procédure
If Application.Intersect(Target, Range("G4:G29")) Is Nothing Then Exit Sub
si tu veux agrandir ou diminuer la plage...
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Menu déroulant
Réponses
4
Affichages
394
Réponses
14
Affichages
680
Réponses
3
Affichages
327

Statistiques des forums

Discussions
312 239
Messages
2 086 494
Membres
103 234
dernier inscrit
matteo75654548