Macro recherche, report, modification - VB/VBA/VBS - Programmation
Marsh Posté le 02-06-2010 à 15:57:12
Hello
Excel n'est pas un SGBD... Par exemple sous Access c'est fait en 2mn...
Le plus simple a mon avis c'est de piloter les filtres automatiques sur ta feuille "Base de données"
Tu mets des filtres automatique
Tu poses la question du Nom
Tu filtres avec un 'contient' sur le nom saisi
Tu poses la question si c'est ok
Si oui, tu te positionnes sur la ligne, et un bouton qui copie/colle
Si non, tu poses la question avec le prénom
Tu filtres avec un 'contient' sur le prenom saisi
Tu poses la question si c'est ok
Si oui tu te positionnes sur la ligne, et un bouton qui copie/colle
Sinon tanpis
Marsh Posté le 02-06-2010 à 17:23:29
Salut,
merci pour ta réponse mais pourrais-tu m'éclairer sur ce sujet je ne comprends pas bien comment faire, je n'ai encore jamais utilisé les filtres, mais je vais m'y mettre.
Merci d'avance
Marsh Posté le 02-06-2010 à 17:56:50
Tu as la possibilité de me faire suivre le fichier que je zieute ?
Marsh Posté le 01-06-2010 à 17:16:12
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