affiche la valeur de la cellule dans MsgBox

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
 

nadog

XLDnaute Nouveau
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.
 

nadog

XLDnaute Nouveau
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.
 

patoq

XLDnaute Occasionnel
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
 

patoq

XLDnaute Occasionnel
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
 

nadog

XLDnaute Nouveau
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

  • inventairetest.xls
    138.5 KB · Affichages: 47
  • inventairetest.xls
    138.5 KB · Affichages: 49
  • inventairetest.xls
    138.5 KB · Affichages: 46

Discussions similaires

Réponses
2
Affichages
154
Réponses
2
Affichages
124

Statistiques des forums

Discussions
312 305
Messages
2 087 070
Membres
103 453
dernier inscrit
Choupi