Formulaire automatique - VBA - errer 1004

Fermé
missmylep Messages postés 7 Date d'inscription mardi 26 janvier 2021 Statut Membre Dernière intervention 2 septembre 2021 - Modifié le 3 sept. 2021 à 15:48
Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 - 2 sept. 2021 à 19:15
Bonjour,

Je suis relativement nouvelle pour le VBA comme le démontre plusieurs de mes posts.
Je cherche a automatiser un formulaire et transfert des donnees de ce formulaire vers un tableau dont je pourrais utiliser pour extraire des donn.es

voici mon macro créé a l'aide d'un enregistrement.
Sub ajout_entree_sortie()
'
' ajout_entree_sortie Macro
'

'
    ActiveWindow.SmallScroll Down:=12
    ActiveCell.Offset(19, -10).Range("A1:K1").Select
    Selection.Copy
    Sheets("inOut").Select
    ActiveCell.Offset(-20, -2).Range("InventaireÉquipement[[#Headers],[DATE]]"). _
        Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("FORMULAIRE ").Select
    ActiveWindow.SmallScroll Down:=-15
    ActiveCell.Offset(-28, 3).Range("A1,A3,A5,A7,A9,A11,A15,A17,A19,A21").Select
    ActiveCell.Offset(-8, 3).Range("A1").Activate
    ActiveWindow.SmallScroll Down:=3
    ActiveCell.Offset(-20, 0).Range("A1,A3,A5,A7,A9,A11,A15,A17,A19,A21,A23").Select
    ActiveCell.Offset(2, 0).Range("A1").Activate
    Application.CutCopyMode = False
    Selection.ClearContents
    ActiveWindow.SmallScroll Down:=-6
    ActiveCell.Offset(-22, 0).Range("A1").Select



PRINTSCREEN


Configuration: Windows / Chrome 93.0.4577.63

4 réponses

f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 1 712
2 sept. 2021 à 08:33
Bonjour,

Pouvez mettre votre fichier a dispo, serait plus simple pour vous aider

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

ou
www.transfernow.net 'fichier jusqu'a 4G
0
missmylep Messages postés 7 Date d'inscription mardi 26 janvier 2021 Statut Membre Dernière intervention 2 septembre 2021
2 sept. 2021 à 14:27
0
Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 167
2 sept. 2021 à 18:08
Bonjour,

si je comprends bien :
1 - Il faut remplir le formulaire
2 - Copier les données en-dessous du formulaire
3 - Les coller sur l'onglet inOut mais à la suite des lignes déjà renseignées ?
0
missmylep Messages postés 7 Date d'inscription mardi 26 janvier 2021 Statut Membre Dernière intervention 2 septembre 2021
2 sept. 2021 à 18:20
allo @yoyo01000,

c'est bien cela ou plus simple
1- Remplir le formulaire -cliquer sur "ajouter sortie inventaire"
2- les données seront collées dans l'onglet inOut automatiquement
3- Formulaire s'efface automatique une fois j'ai cliqué sur "ajouter sortie inventaire"
0
Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 167
Modifié le 2 sept. 2021 à 19:17
Macro à rattacher au bouton de validation :

Sub copier_coller()

 Range("Tableau8").copy
    Sheets("inOut").Select
    Range("A" & Range("A65535").End(xlUp).Row + 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
         Application.ScreenUpdating = False
        Sheets("FORMULAIRE ").Select
        Range("D4:D14,D18:D26").ClearContents
       
        Sheets("inOut").Select
                
End Sub
0
f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 1 712
2 sept. 2021 à 18:22
Re,

Remplacez votre procedure
Sub ajout_entree_sortie()


par ceci:

Sub Ajout_Entree_Sortie()
    'Premiere cellule vide d'une colonne d'une Table (Tableau)
    PCVide = Range("InventaireÉquipement[Date]").Cells.Find(what:="", LookAt:=xlWhole).Row  'premiere cellule vide
    'A l'arrache
    Worksheets("inOut").Range("A" & PCVide).Resize(, 11) = Worksheets("FORMULAIRE").Range("A32:K32").Value
End Sub
0
missmylep Messages postés 7 Date d'inscription mardi 26 janvier 2021 Statut Membre Dernière intervention 2 septembre 2021
2 sept. 2021 à 19:01
Bonjour,
J'ai fait ce dont vous dites et voici ce qui apparaît :(
0
f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 1 712 > missmylep Messages postés 7 Date d'inscription mardi 26 janvier 2021 Statut Membre Dernière intervention 2 septembre 2021
2 sept. 2021 à 19:14
Re

Enlevez donc le ' que vous avez mis devant Sub et qui n'est pas avec le code que j'ai mis a dispo

Pour utiliser les instruction liees a un tableau (InventaireÉquipement), les entetes avec un # posent probleme
0