Recherche d'un nom dans une autre feuille

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 !

Luc Lucasse

XLDnaute Occasionnel
Bonjour le forum,🙁

Je reviens vers vous parce que la je m'embrouille tout seul!!!!😕


Voila ce que je cherche à faire:

J'ai un nom qui apparait dans une feuille en colonne C.
Je veux que le programme aille chercher ce nom dans la feuille1 en colonneQ et qu'il me renvoi la valeur se trouvant dans la colonne N sur la même ligne!!


Exemple:
J'ai le mot "Pronostic" qui apparait dans ma feuille3 en case A6 et en case C6 on trouve le nom "AZERTY".
Donc mon programme va chercher ce nom (AZERTY) dans la colonne Q de la feuille1 et il trouve ce nom en Q27 alors il me renvoi la valeur de la case N27 dans la case AA6 de la feuille3 🙁

Pareil pour toutes les feuilles

Qui pourrait m'aider??

Merci pour votre aide😉
 
Dernière édition:
Re : Recherche d'un nom dans une autre feuille

bonjour Luc Lucasse

pas facile de comprendre ce que tu veux !!!!

voila une macro qui se declenche lorsque l'on ecrit Pronostic dans la colonne A de la feuille 2 et va chercher dans la feuille 1 (colonne Q) si le mot de la colonne C feuille2 existe .Si oui il affiche le mot situé feuille1 en colonne N

ais-je bien compris ???
 

Pièces jointes

Re : Recherche d'un nom dans une autre feuille

Merci pour ton aide Pierre Jean,

C'est pratiquement ça, à part que je ne veux pas que le chiffre vienne s'écrire dans une Box mais plutôt dans la colonne AA en face du mot recherché (de le feuille3 pour l'exemple).

Merci pour ton aide 😉
 
Re : Recherche d'un nom dans une autre feuille

Bonjour,

Je crois qu'on s'est toujours pas compris!!! en ce moment j'ai vraiment du mal à m'expliquer.😱

Je veux que ca se passe sur toutes les feuilles et que chaque feuille aille chercher ses renseignement dans la feuille1 et qu'il vienne écrire dans la colonne AA le chiffre renvoyé.

C'est à dire que c'est exactement ce que tu a fais le programme d'avant mais sans box, et avec le chiffre qui va s'écrire en colonne AA sur la bonne ligne (c'est à dire la ligne du mot recherché). Et ça pour toutes les feuilles.

Merci pour ton aide
 
Dernière édition:
Re : Recherche d'un nom dans une autre feuille

Bonjour le fil,

Je reprends tout juste le cours du fil m'etant absenté durant le week et je vois que Pierrejean a bien avancé mais tout comme moi, il a du mal a comprendre ta demande Luc.

Essaye de nous mettre un exemple en pièce jointe avec ton histoire de plusieurs feuilles...

@+
 
Re : Recherche d'un nom dans une autre feuille

Bonjour le forum,

J'essai de réexpliquer et ensuite je met un fichier joint:

Dans chaque feuille de mon classeur je peux avoir des nom écrit dans la colonne C (n'importe quels noms).

Ensuite si j'ai le mot "Pronostic" qui apparait en colonne A en face d'un de ses nom alors ce nom sera recherché dans la feuil1 en colonne Q.

Quand ce nom est trouvé en feuil1, alors le chiffre correspondant en colonne N sera renvoyé dans la feuille où le nom est écrit en colonne C, dans la colonne AA.



Exemple:

D'un coup, j'ai "Pronostic" qui apparait en case A7 de la feuille3.

En face de "Pronostic", j'ai le mot "AZERTY" dans ma feuille 3 en case C7.

Donc Le programme va chercher le mot "AZERTY" en colonne Q de la feuille1.

Il le trouve en case Q6 de la feuille1.

Donc il renvoie le chiffre qui se trouve en case N6 de la feuille 1 et il va l'écrire en case AA7 de la feuille3.



Est ce que la c'est plus facile à comprendre??


Ps:En fait, je veux exactement ce qu'a fait Pierre Jean sur son 1er fichier à part que je ne veux pas que le chiffre renvoyé s'écrive dans une Box mais plutôt dans la case AA correspondante.



Merci pour votre aide
 
Dernière édition:
Re : Recherche d'un nom dans une autre feuille

re,

Je retente ma chance avec le code légèrement modifié de Pierrejean (a placer dans le meme module de feuille) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n%
If Target.Column = 1 And UCase(Target.Value) = "PRONOSTIC" Then
    For n = 1 To Sheets("Feuil1").Range("N65536").End(xlUp).Row
        If UCase(Sheets("Feuil1").Range("Q" & n)) = UCase(ActiveSheet.Cells(Target.Row, 3)) Then
            Sheets("Feuil2").Cells(Target.Row, 27).Value = Sheets("Feuil1").Range("N" & n)
        End If
    Next n
End If
End Sub

@+
 
Re : Recherche d'un nom dans une autre feuille

Par contre maintenent sur chaque page j'ai ca:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Min As Double
Dim Nbre As Byte
Dim i As Byte
Dim Plage As Range
Dim Cellule As Range

If Not Application.Intersect(Target, Range("H:H")) Is Nothing Then
Set Plage = ActiveSheet.Range("H1:H30")
ActiveSheet.Range("A1:A30").ClearContents

Select Case Application.WorksheetFunction.Small(Plage, 1)

Case 7 To 8
Nbre = 7
Case 6 To 7
Nbre = 6
Case 5 To 6
Nbre = 5
Case 4 To 5
Nbre = 4
Case 3 To 4
Nbre = 3
Case Else
Exit Sub
End Select



Application.EnableEvents = False
For i = 1 To Nbre
For Each Cellule In Plage
Min = Application.WorksheetFunction.Small(Plage, i)
If Cellule.Value = Min Then Cellule.Offset(0, -7) = "Pronostic"
Next Cellule
Next i
Application.EnableEvents = True


Private Sub Worksheet_Change(ByVal Target As Range)
Dim n%
If Target.Column = 1 And UCase(Target.Value) = "PRONOSTIC" Then
For n = 1 To Sheets("Feuil1").Range("N65536").End(xlUp).Row
If UCase(Sheets("Feuil1").Range("Q" & n)) = UCase(ActiveSheet.Cells(Target.Row, 3)) Then
Sheets("Feuil2").Cells(Target.Row, 27).Value = Sheets("Feuil1").Range("N" & n)
End If
Next n
End If
End Sub


Est ce qu'il serait possible que tu m'aide pour supprimer un des 2 Private Sub Worksheet_Change(ByVal Target As Range)



Merci
 
Re : Recherche d'un nom dans une autre feuille

re,

Sans avoir testé, je dirais peut etre quelque chose de ce genre :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Min As Double
Dim Nbre As Byte
Dim i As Byte
Dim Plage As Range
Dim Cellule As Range
Dim n%
If Not Application.Intersect(Target, Range("H:H")) Is Nothing Then
    Set Plage = ActiveSheet.Range("H1:H30")
    ActiveSheet.Range("A1:A30").ClearContents
    
    Select Case Application.WorksheetFunction.Small(Plage, 1)
    Case 7 To 8
        Nbre = 7
    Case 6 To 7
        Nbre = 6
    Case 5 To 6
        Nbre = 5
    Case 4 To 5
        Nbre = 4
    Case 3 To 4
        Nbre = 3
    Case Else
        Exit Sub
    End Select
    
    Application.EnableEvents = False
    For i = 1 To Nbre
        For Each Cellule In Plage
            Min = Application.WorksheetFunction.Small(Plage, i)
            If Cellule.Value = Min Then Cellule.Offset(0, -7) = "Pronostic"
        Next Cellule
    Next i
    
    For n = 1 To Sheets("Feuil1").Range("N65536").End(xlUp).Row
        If UCase(Sheets("Feuil1").Range("Q" & n)) = UCase(ActiveSheet.Cells(Target.Row, 3)) Then
            Sheets("Feuil2").Cells(Target.Row, 27).Value = Sheets("Feuil1").Range("N" & n)
        End If
    Next n
    Application.EnableEvents = True
End If
End Sub

@+
 
Re : Recherche d'un nom dans une autre feuille

Bonsoir à tous,

J'ai une erreur quand j'utilise le code suivant:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim n%
If Target.Column = 1 And UCase(Target.Value) = "Pronostic" Then
For n = 1 To Sheets("Feuil1").Range("N65536").End(xlUp).Row
If UCase(Sheets("Feuil1").Range("Q" & n)) = UCase(ActiveSheet.Cells(Target.Row, 3)) Then
Sheets("Feuil2").Cells(Target.Row, 27).Value = Sheets("Feuil1").Range("N" & n)
End If
Next n
End If
End Sub



Type d'erreur
"erreur d'execution 13"
"Incapabilité de type"



Comment résoudre mon problême?

PS: L'erreur se trouve sur la partie en rouge


Merci pour votre aide 😀
 
- 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