Bonjour je viens vers vous car j'ai un code VBA qui permet d'afficher le resutat d'une valeur saisie mais pas toutes les lignes qui corresponde a cette valeur mon code VBA est :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
Set c = Range("B15:B" & Range("B65536").End(xlUp).Row).Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Range("C" & c.Row & ":N" & c.Row).Copy Destination:=Range("C5")
End If
End If
End Sub
Je voudrais donc que lorsque que je tape le résultat en B5 toutes les lignes qui correspond a cette valeur sois afficher
Si besoin d'un exemple je l'ai fournie
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
If c.Address = "$B$5" Then
If c.Value <> "" Then
Range("b14:n65000").AutoFilter Field:=1, Criteria1:=Range("b5")
Else
Range("b14").AutoFilter
End If
End If
End Sub
J'ai remodelé ta macro évènementielle pour qu'elle face ce que tu veux.
- J'ai modifié la cellule où le N° de contrat était mis afin de libérer la zone d'affichage.
- J'ai utilisé un tableau dynamique dans lequel la seconde dimension augmente de 1 chaque fois qu'un nouveau N° de contrat est trouvé.
- L'affichage des résultats s'effectue par transposition des valeurs du tableau dans la zone d'affichage "B4:N13".
Je me demande comme vat-il faire lorsque les lignes seront supérieures à 13??? Disons 20 pour chaque code. Personnellement je les mettrait sur une autre feuille.
J'ai apporté quelques modifications après les judicieuses remarques effectuées par Lone-wolf et GCFRG.
- Une liste de validation est présente en "B2". Elle peut être mise à jour par le Bouton "MISE A JOUR..... qui met à jour la liste des N° de contrats présents dans la base dans la feuille "N° de Contrats" sans doublons ((Le filtrage des doublons est effectué à l'aide d'un dictionnaire). Un nom a été placé dans le gestionnaire des noms pour servir de source à la liste de validation.
- Le filtrage des numéros de la base est effectué par recherche et mise en tableau dynamique des numéros de contrats trouvés puis affichés par transposition des valeurs du tableau dans la zone d'affichage de la feuille "Résultats".