Bonjour à tous,
Je sollicite vos compétences dans le domaine du VBA afin de finaliser une macro que j'ai commencé à éditer en me documentant sur le Net.
Voici quelques explications sur mes objectifs.
Sur une feuille appelée "Base de données", j'ai une liste d'outillages avec leurs noms en colonne A, prénom en colonne B, ainsi que d'autres descriptions jusqu'à la colonne M.
Sur une seconde feuille appelée "Formulaire", j'ai crée un formulaire en colonne (donc transposé) permettant d'enregistrer un outillage dans la feuille "Base de données".
Je désire maintenant créer une macro me permettant de rechercher un outillage dans la feuille "Base de données".
-> A savoir que plusieurs outillages portent le même nom mais pas le même prénom.
-> Plusieurs propositions sont prévues afin de sélectionner le bon outillage.
Une fois le bon outillage trouvé, je désire copier toutes les caractéristiques (colonne A à M voire plus) de l'outillage dans mon formulaire (colonne B de la feuille "Formulaire) afin de pouvoir les modifier puis d'enregistrer ces modifications dans ma feuille "Base de données".
Voici l'ébauche de mon code :
Sub Macro_Recherche()
On Error GoTo fin
Dim Str_Plage As String
Dim Str_Ligne 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("Outillage à rechercher ?" )
Set Feuil = Sheets("Base de données" )
For Each Cel In Feuil.Range(Str_Plage,Str_Ligne)
If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then
Feuil.Activate
Cel.Activate
X = MsgBox("Est ce le bon outillage ?" & Chr(13), vbDefaultButton2 + _
vbQuestion + vbYesNoCancel, "Outillage trouvé" )
Select Case X
Case 6
Feuil.Activate
Cel.Activate
Rows(Str_Ligne).Select
Selection.Copy
Sheets("Formulaire" ).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
End Select
End If
Next Cel
fin:
MsgBox ("Outillage inexistant" )
End Sub
Voilà en espérant avoir été assez claire sur mes explications,
Bien cordialement.
Message édité par damien2010 le 01-06-2010 à 17:36:16