Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
VBA recherche d'une cellule avec le contenu d'une autre cellule
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).
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.
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 !
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
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...
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
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
Re : VBA recherche d'une cellule avec le contenu d'une autre cellule
Re,
Je ne voulais pas provoquer ton courroux, juste te dire que dans ta macro il n'y a pas de gestion d'erreur, et si tu mets "Hulk" en A25....
A+
kjin
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.