Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Rechercher un numero et copier toutes les informations associees

macrout95

XLDnaute Nouveau
Bonjour a toute la communaute,

Premiere Macro pour moi, je tiens deja a remercier les participants de ce forum car j'ai deja trouve de nombreuses reponses a mes questions mais sur celle ci je bloque.
Je commence par vous faire une breve explication de mon fichier (mis en PJ) :

Je souhaite lister toutes les modifications que j'apporte sur des documents. Chaque modifications possedera donc un numero unique avec plusieurs informations sur cette modification que je renseigne dans le premier onglet 1 "New Modif"

Une fois que j'ai rentre mes modifications, j'aimerais avoir 3 possibilitees (avec des boutons) :

1) Enregistrer cette modification dans le troisieme onglet "DataBase" et incrementer automatiquement le numero de la prochaine modification = ca ca s'emble OK
2) Idem que le point 1 mais en plus je souhaite imprimer cette modification en utilisant la mise en page de l'onglet 2 "Sheet of modif."= ca ca s'emble OK
3) Celle sur laquel je bloque : Renseigner un numero de modification existant dans une boite de dialogue et quand je clique sur un bouton, automatiquement, la macro va chercher les informations correspondant a cette modif (dans l'onglet "DataBase") et les positionnent dans l'onglet "Sheet of modif." en ouvrant ensuite la boite de dialogue pour imprimer cette fiche de modif.

Voila, j'espere etre Claire dans mes explications, sachant que c'est une premiere pour moi =)
Desole pour l'absence des accents je ne suis pas en France.

Un grand merci. Bonne soiree.
 

Pièces jointes

  • Suivie de modification des indices - V9.xlsm
    60.6 KB · Affichages: 10
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonsoir,
Voici un code qui fait la chose.
Je te laisse compléter quelques lignes de code . . .facile
Bruno
VB:
Sub Button1_Click()
With Sheet3
    rep = InputBox("Indiquez le N°", "NUMERO") 'La variable reçoit la valeur entrée dans l'InputBox
    If rep = "" Then Exit Sub 'Si rien on quitte
    If Not IsNumeric(rep) Then MsgBox "Incorrect": Exit Sub 'si pas numeric
    lig = Application.Match(Val(rep), .[A:A], 0)
    If Not IsNumeric(lig) Then MsgBox "NO FIND": Exit Sub 'pas trouvé
Sheet2.[F3] = .Cells(lig, 3) 'ou  .Cells(lig, "C")
Sheet2.[F4] = .Cells(lig, "D")
Sheet2.[F5] = .Cells(lig, "E")
Sheet2.[C9] = .Cells(lig, "F")
'ici à toi de continuer
'
End With
End Sub
 

Dan

XLDnaute Barbatruc
Bonjour,

Votre macro pour sauvegarder les nouvelles données dans la feuille database peut être celle-ci

VB:
Sub Button2_Click()
Dim dlg as integer

With Sheets("Database")
    dlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    ActiveSheet.Range("D2:D6,D8:D12,D14:D17").Copy
    .Range("A" & dlg).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=True
    .Sort.SortFields.Clear
    .Sort.SortFields.Add2 Key:=.Range("A2:A" & dlg), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With .Sort
    .SetRange Sheets("Database").Range("A2:N" & dlg)
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
End With
ActiveSheet.Range("D2:D6,D8:D12,D14:D17").ClearContents
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Bonjour Dan
j'avais pas vu la chose comme toi
Pour Macrout j'avais zappé l'impression qui est ici rectifié
Bruno
VB:
Sub Button1_Click()
With Sheet3
    rep = InputBox("Indiquez le N°", "NUMERO") 'La variable reçoit la valeur entrée dans l'InputBox
    If rep = "" Then Exit Sub 'Si rien on quitte
    If Not IsNumeric(rep) Then MsgBox "Incorrect": Exit Sub 'si pas numeric
    lig = Application.Match(Val(rep), .[A:A], 0)
    If Not IsNumeric(lig) Then MsgBox "NO FIND": Exit Sub 'pas trouvé
Sheet2.[F3] = .Cells(lig, 3) 'ou  .Cells(lig, "C")
Sheet2.[F4] = .Cells(lig, "D")
Sheet2.[F5] = .Cells(lig, "E")
Sheet2.[C9] = .Cells(lig, "F")
'ici à toi de continuer
'
End With
If MsgBox("Souhaitez-Vous imprimer?", vbExclamation + vbYesNo, "IMPRESSION") = vbNo Then Exit Sub
'Sheet2.PrintOut 'ici on imprime direct
Sheet2.PrintPreview 'ici on va en apercu avant impression
End Sub
 

macrout95

XLDnaute Nouveau
Un tres grand merci a vous 2, j'ai commence a ecrire le code pour le premier bouton et cela semble fonctionner a merveille, merci pour votre rapidite et votre aide.

Pour le bouton 2 je regarde ca juste apres, car effectivement le code ne doit pas etre optimize du tout.

Bonne soiree a vous 2 =)
 

macrout95

XLDnaute Nouveau
Impec pour ce bouton tout fonctionne.

Malheuresement le bouton 3 ne fonctionne plus (Idem que le point 1 mais en plus je souhaite imprimer cette modification en utilisant la mise en page de l'onglet 2 "Sheet of modif.") je vais me pencher la dessus.

Bonne soiree.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…