affiche la valeur de la cellule dans MsgBox

  • Initiateur de la discussion Initiateur de la discussion nadog
  • Date de début Date de début

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 !

nadog

XLDnaute Nouveau
Bonjour à vous,

je suis plutôt novice dans le VBA.
alors j'ouvre un MsgBox pour afficher la valeur de la cellule suite à une recherche.
J'ai essayé le Cel.Value mais il me dit Erreur.
Dans le script, il y a Cel.Address et il m'affiche l'adresse de la cellule mais je voudrais qu'il m'affiche le contenu (valeur) de la cellule (à l'endroit ''Est-ce ceci:'')
Merci

Sub Macro_Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte

Str_Plage = "A:A"
Str_critère = InputBox("Article à rechercher ?")
For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then

Feuil.Activate
Cel.Activate

X = MsgBox("Mot """ & Str_critère & """ trouvé :" & Chr(13) & _
"Est-ce ceci: " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche" & Chr(13) & _
"Non : on continue la recherche " & Chr(13), vbDefaultButton2 + _
vbQuestion + vbYesNo, "MOT TROUVÉ")
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Selection.Copy
Sheets("Accueil").Select
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Range("C5").Select
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
 
Re : affiche la valeur de la cellule dans MsgBox

bonjour,
pour le inputBox, si je clique sur annuler, il va sur ma page "acceuil" et moi je préfère qu'il termine le VBA et qu'il ferme la fenêtre.
est-ce possible?
j'ai essayer de faire un "end" après If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then mais sans succès.
merci de votre aide.
 
Re : affiche la valeur de la cellule dans MsgBox

Bonjour, mon classeur comporte 3 feuilles et je ne veux pas qu'il vérifie toutes les feuilles. je veux juste qu'il vérifie une feuille "BASE"
Je crois qu'il faut modifier un peu le script, probablement ici: (voir au début pour le script complet)

For Each Feuil In Sheets
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then


merci d'avance.
 
Re : affiche la valeur de la cellule dans MsgBox

bonsoir tout lemonde ,bonsoir Nadog

Fais sauter la premiere ligne "For each feuil in Sheets"
La deuxième : For Each Cel in Sheets("BASE").Range(Str_Plage)

A tester mais sans fichier ,difficile de voir plus loin
Cdt
 
Re : affiche la valeur de la cellule dans MsgBox

bonsoir nadog ,bonsoir le forum

Normal que ça coince tu écrit Feuil.Activate mais excel ne sait pas quelle feuille activer.

Et hop

Code:
Sub Macro_Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Workbook
Dim Str_critère As String
Dim X As Byte
 
 
Str_Plage = "A:A" 'cherche dans colonne A
Str_critère = InputBox("Article à rechercher ?") 'affiche boite de dialogue
If Str_critère = "" Then Exit Sub
'For Each Feuil In Sheets
For Each Cel In Sheets("BASE").Range(Str_Plage)
If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then

Sheets("BASE").Activate
Cel.Activate

X = MsgBox("Mot """ & Str_critère & """ trouvé :" & Chr(13) & _
"Est-ce ceci: " & ActiveCell.Value & Chr(13) & _
"Description: " & ActiveCell.Offset(0, 3).Value & Chr(13) & _
"Fabricant: " & ActiveCell.Offset(0, 2).Value & Chr(13) & Chr(13) & _
"Oui : on arrête la recherche" & Chr(13) & _
"Non : on continue la recherche " & Chr(13), vbDefaultButton2 + _
vbQuestion + vbYesNo, "MOT TROUVÉ")
Select Case X
Case 6
    'Sheets("BASE").Activate
    'Cel.Activate
    Selection.Copy
    Sheets("Accueil").Select
    Range("C4").Select
    Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
        , SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("C5").Select
    Exit Sub
Case 2 'annuler on sort
    Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
'Next Feuil
MsgBox ("pas trouvé")
End Sub

Plus qu'a faire pareil pour l'autre macro de recherche

Cdt
 
Re : affiche la valeur de la cellule dans MsgBox

Bonjour à tout le monde,

après les corrections, tout fonctionne bien.
Je joint le fichier pour ceux qui sont intéressés à avoir un fichier pour gérer un inventaire de pièces.

merci à tous les passionnés!
 

Pièces jointes

- 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

Réponses
10
Affichages
547
Réponses
18
Affichages
314
Réponses
2
Affichages
281
Réponses
17
Affichages
1 K
Retour