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

XL 2016 Remplissage automatique info

Ethlios

XLDnaute Junior
Bonjour à tous,

Je cherche à réutiliser cette fonction que j'utilise pour remplir mon fichier de suivi, mais dans une version différente, afin de remplir automatiquement une fiche pour retranscrire les infos de la fiche 1 sur la fiche 2. Quand j'utilise cette fonction pour remplir ma fiche, je reçois un message d'erreur d'exécution "1004" erreur défini par l'application ou par objet. Que dois-je changer pour réutiliser la fonction correctement ?

J'ai ajouté un fichier pour illustrer mon système de fiche 1, fiche 2


Fonction utilisée sur mon fichier de suivi :

Sub Validation()

Dim dl As Long
dl = Sheets("Fiche suivi").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Fiche suivi").Range("A" & dl).Value = Range("B4").Value
Sheets("Fiche suivi").Range("B" & dl).Value = Range("B6").Value
Sheets("Fiche suivi").Range("C" & dl).Value = Range("B5").Value
Sheets("Fiche suivi").Range("D" & dl).Value = Range("B8").Value
....

End Sub

Merci d'avance

Ethlios
 

Pièces jointes

  • Exemple fiche.xlsx
    13.4 KB · Affichages: 5

JM27

XLDnaute Barbatruc
mettre dans un module standard
VB:
Sub Validation()
    Dim dl As Long
        dl = Sheets("Fiche 2").Range("B" & Rows.Count).End(xlUp).Row + 1
        Sheets("Fiche 2").Range("B" & dl).Value = Sheets("Fiche 1").Range("C1").Value
        Sheets("Fiche 2").Range("B" & dl + 1).Value = Sheets("Fiche 1").Range("C2").Value
        Sheets("Fiche 2").Range("B" & dl + 2).Value = Sheets("Fiche 1").Range("C3").Value
        Sheets("Fiche 2").Range("B" & dl + 3).Value = Sheets("Fiche 1").Range("C4").Value
        Sheets("Fiche 2").Range("B" & dl + 4).Value = Sheets("Fiche 1").Range("C5").Value
End Sub

les données (en ligne) s'ajouteront les unes après les autres
 

Pièces jointes

  • Exemple fiche.xlsm
    19.3 KB · Affichages: 4

Ethlios

XLDnaute Junior
Justement, je ne veux pas qu'il s'ajoute les unes après les autres, dans l'idée, je veux rentrer les infos dans la fiche 1, redirigé les infos vers la fiche 2 et l'extraire la fiche 2 en pdf par exemple puis rechanger les données d'entrée de la fiche 1 et recommencer. Je ne sais pas si c'est plus clair comme explication ^^'
 

JM27

XLDnaute Barbatruc
tout simplement
VB:
Sub Validation()
        Sheets("Fiche 2").Range("B1").Value = Sheets("Fiche 1").Range("C1").Value
        Sheets("Fiche 2").Range("B2").Value = Sheets("Fiche 1").Range("C2").Value
        Sheets("Fiche 2").Range("B3").Value = Sheets("Fiche 1").Range("C3").Value
        Sheets("Fiche 2").Range("B4").Value = Sheets("Fiche 1").Range("C4").Value
        Sheets("Fiche 2").Range("B5").Value = Sheets("Fiche 1").Range("C5").Value
End Sub
 

Ethlios

XLDnaute Junior
La fonction marche très bien sur l'exemple envoyé c'est ce qu'il me faut ! Mais sur mon fichier j'ai un message : " Erreur d'exécution '9': l'indice n'appartient pas à la sélection." D'où peut venir cette erreur ?
 

JM27

XLDnaute Barbatruc
L'enregistreur de macro permet d'enregistrer tout les actions que tu réalises , les unes après les autres.
en fait cela te crées une macro
Voila ce que cela donne avec l'enregistreur de macro
VB:
Sub Macro1()
    
 Sheets("Fiche 1").Select
    Range("C1:C5").Select
    Selection.Copy
    Sheets("Fiche 2").Select
    Range("B1").Select
    ActiveSheet.Paste
End Sub
cela va te créer un module standard avec la macro
évidemment le code n'est pas optimisé mais c'est un début
 

Pièces jointes

  • essai1.gif
    954.3 KB · Affichages: 19
Dernière édition:

Ethlios

XLDnaute Junior
Bonjour !

Désolé pour le retard, je n'avais pas vu votre message !! La fonction est géniale, comment ajouter cette fonction sur Excel ?
 

Discussions similaires

Réponses
2
Affichages
512
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…