VBA recherche d'une cellule avec le contenu d'une autre cellule

Skqgent

XLDnaute Junior
Bonsoir à tous,
Je désepere... ='(

J'ai un texte en cellule "A25" en feuil1
et je cherche en feuil2 une cellule dont le contenue est &gal au contenu de A25(feuil1)
A25 est une variable

J'ai essayer avec tout ce que j'ai trouver ( "Find" "xlwhole" ect ...) mais ca donne rien !!

Vous avez une idée ?

Merci par avance =)
 

Excel-lent

XLDnaute Barbatruc
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule

Bonsoir Skqgent,

Code:
Sub Proposition()

Dim A25 As String


A25 = Sheets("Feuil1").Range("A25")

With Sheets("Feuil2").Range("[COLOR="Blue"][B]A1:C20[/B][/COLOR]")
    Set c = .Find(A25, LookIn:=xlValues)
    If Not c Is Nothing Then
       firstAddress = c.Address
       Do
          MsgBox ("Onglet Feuil2 - Cellule " & c.Address)
       Set c = .FindNext(c)
       Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

End Sub

Comme tu as été avar en explication, que tu n'as pas envoyé de fichier exemple (si tu pouvais le faire la prochaine fois, ce serait super ;)).

Pour faire cette macro je suis parti du principe :
-> la zone de recherche de la feuille 2 est : A1:C20
-> que la valeur pouvait être présente plusieurs fois dans la zone feuille 2
-> que lorsque la macro a trouvé la première valeur, tu veux que la macro continue sa recherche, pour voir si la valeur est présente une seconde fois, puis une troisième fois, puis...
-> ne sachant pas ce que tu voulais faire des coordonnées de la cellule où se trouve ta valeur : la macro ci-dessus te l'affiche dans une MsgBox (ainsi que les suivantes). Bref, si ta valeur est présente trois fois, tu auras trois MsgBox (mais si tu le souhaite, on peut regrouper toutes les coordonnées dans une et une seule MsgBox).

Bref ta question étant trop vague, j'ai dû faire beaucoup de suppositions pour pouvoir te répondre. Donc si l'une de mes supposition est fausse et que tu n'arrive pas à adapter la macro, n'hésite pas à nous le dire, nous t'aiderons (mais stp : soit précis ;)).

A te lire

Bonne fin de soirée.

Edition 1. : Salut Hulk. Rendons à César ce qui appartient à César. La macro n'est pas de moi. Il y a 15 minutes je ne connaissais la fonction Find que de nom. J'ai fais quelques recherche, 2-3 tests pour la comprendre (à croire que j'ai eu plus de chance que notre ami :), puis je l'ai adapté pour qu'elle colle avec les rares impératifs qu'il a bien voulu nous donner).

Dont celle-ci :
Skqgent à dit:
A25 est une variable
:D

Edition 2. : Skqgent, pour information, ne sachant pas où tu voulais mettre la macro, je me suis arrangé pour qu'elle fonctionne dans tous les cas de figure.
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule

Hello,

Inspire-toi de ça, à coller sur la Feuil2.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim Mot As Variant
    Dim AddresseMot As String
        
    With ActiveSheet.Cells
        Set Mot = .Find(Sheets("Feuil1").Range("A25").Value, LookIn:=xlValues)
        If Not Mot Is Nothing Then
            AddressMot = Mot.Address
            Do
                Mot.Interior.ColorIndex = 3
                Set Mot = .FindNext(Mot)
            Loop While Not Mot Is Nothing And Mot.Address <> AddressMot
        End If
    End With

End Sub
Ou ça dans un bouton sur n'importe quelle feuille.
Code:
Private Sub CommandButton1_Click()
    
    Dim Mot As Variant
    Dim AddresseMot As String
        
    With Sheets("Feuil2").Cells
        Set Mot = .Find(Sheets("Feuil1").Range("A25").Value, LookIn:=xlValues)
        If Not Mot Is Nothing Then
            AddresseMot = Mot.Address
            Do
                Mot.Interior.ColorIndex = 44' Pour voir la différence.
                Set Mot = .FindNext(Mot)
            Loop While Not Mot Is Nothing And Mot.Address <> AddresseMot
        End If
    End With

End Sub
Bravo aux auteurs !

Edit : Ah c'est donc toi l'auteur Excel-lent :) alors bravo m'sieur !
 
Dernière édition:

Skqgent

XLDnaute Junior
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule

Merci pour vos réponses,

Désolé pour le manque d'informations je ne savais pas trop comment exprimer ma recherche
Vos macros sont vraiment proches de ce que je recherche à faire mais je n'arrive pas a l'adapter au besoin.

Pour mettre en situation : Tableau statistique de performance par personnes
J'ai donc un Nom en A25 Feuil1 avec un commandbutton à coté
Je voudrais grâce à ce bouton, incrémenter en feuil2 un +1 au chiffre existant dans la cellule a droite du Nom présent en Feuil2

pour le +1
je pensais à : ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1).Value + 1
apparemment ca marche si le nom est bien retouvé en feuil2

Mon problème est de sélectionner la cellule (en feuli2) de la valeur de A25 pour ensuite ajouter +1 a la cellule a sa droite

J'espère que cela vous paraitra plus parlant, je met un fichier joint

Merci
 

Skqgent

XLDnaute Junior
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule

Bonsoir à tous,
J'ai continué mes recherches et adapté le code mis vos soins, j'ai bidouiller un truc qui marche apparemment mais j'ai des messages d'erreur dans VB et ça reste très cavalier

Code:
Dim c As Range, a25 As String

a25 = Sheets("Feuil1").Range("A25")
Set c = Feuil2.Columns("B:B").Find(What:=a25)
Feuil2.Select
c.Activate
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1).Value + 1
Feuil1.Select
End Sub

Ca ressemble a ce que je souhaite faire mais les feuil2.select et feuil1.select c'est pas super...

Vous avez une idée ?

Edit : Déjà, Problème erreur 91 réglé
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule

Hello,

Tu peux faire comme ceci.
Code:
    Dim c As Range, a25 As String

    Application.ScreenUpdating = False
    
    a25 = Feuil1.Range("A25")
    Set c = Feuil2.Columns("B:B").Find(What:=a25)
    c.Offset(0, 1).Value = c.Offset(0, 1).Value + 1
    Feuil1.Select
    
    Application.ScreenUpdating = True
 

kjin

XLDnaute Barbatruc
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule

Bonsoir,
Code:
Private Sub CommandButton1_Click()
Nom = Range("A25")
With Sheets("Feuil2")
    Set c = .Columns(2).Find(Nom)
    If Not c Is Nothing Then
        c.Offset(, 1) = c.Offset(, 1) + 1
    Else
        MsgBox "nom introuvable"
    End If
End With
End Sub
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 017
dernier inscrit
annboi19