XL 2019 remplissage automatisée de données

  • Initiateur de la discussion Initiateur de la discussion virginie83
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

virginie83

XLDnaute Nouveau
Bonjour à tous je suis nouvelle sur le site et je tiens à préciser que je pars complètement de 0 concernant le VBA. Je sais que la question à déjà été posée et malgré mes recherches je n'arrive pas à adapter les codes donc voilà mes problématiques.

J'ai un fichier excel dans lequel je créé un code unique et pour lequel je saisie certaines données. J'injecte tous les jours une nouvelle feuille excel qui reprend ce même code mais sur laquelle il y a de nouvelles données pour lesquelles je voudrais automatiser la saisie.
Donc sur ma "feuille1" se trouve mon code + mes données saisies. Sur ma "feuille2" (que j'injecte tous les jours) se trouve également ce code unique mais avec d'autres informations que je voudrais rajouter sur "ma feuille1" - En sachant que j'ai plusieurs codes uniques à compléter tous les jours donc

Mon code unique se trouve colonne F sur la feuille 1 - mes nouvelles données se trouvent sur la feuille 2 avec mes codes uniques (colonne A) comme données communes : je voudrais remplir les colonnes A/B/K/L/S/T/AC de la feuille 1 avec les colonnes B/C/J/R/N/O/V de la feuille 2

PS: je n'arrive pas à mettre un exemple de mon fichier à priori trop volumineux

En espérant vraiment que vous pourrais aider une âme larguée en VBA

Merci à tous de vos retours
 
Bonjour Virginie, et bienvenue sur XLD.
Prenez votre fichier, ne garder que trois ou quatre feuilles, virez toutes les données à part une dizaine de lignes, (et supprimez les données sensibles ) et donnez nous ça, cela sera suffisant.
Sans fichier test, vous aurez que des réponses évasives car tout dépend de la structure de vos feuilles.

Concernant le VBA, rappelez vous que tout le monde a commencé un jour. 🙂
 
Re,
Un essai en PJ avec simplement :
VB:
Sub Transfert()
'Je voudrais remplir les colonnes A/B/K/L/S/T/AC de la feuille 1 avec les colonnes B/C/J/R/N/O/V de la feuille 2
Application.ScreenUpdating = False
DL1 = Sheets("Feuil1").Range("A65500").End(xlUp).Row    ' Nb ligne Feuil1
DL2 = Sheets("Feuil2").Range("A65500").End(xlUp).Row    ' Nb ligne Feuil2
Set F = Sheets("Feuil2")
With Sheets("Feuil1")
    For L = 2 To DL2                                    ' Pour toute ligne de feuil2
        DL1 = DL1 + 1                                   ' Incrément N° ligne de transfert
        .Cells(DL1, "A") = F.Cells(L, "B")              ' Transfert cellules
        .Cells(DL1, "B") = F.Cells(L, "C")
        .Cells(DL1, "K") = F.Cells(L, "J")
        .Cells(DL1, "L") = F.Cells(L, "R")
        .Cells(DL1, "S") = F.Cells(L, "N")
        .Cells(DL1, "T") = F.Cells(L, "O")
        .Cells(DL1, "AC") = F.Cells(L, "V")
    Next L
End With
End Sub
En espérant avoir tout compris.
 

Pièces jointes

Finalement je n'ai pas pu attendre, ca répond parfaitement à mes attentes - Vraiment merci ca va me simplifier la vie. Du coup, sans vouloir exagérer si j'ai d'autres demandes dois-je ouvrir une nouvelle discussion ou puis-je rester sur celle ci?
 
Bonsoir,
Il vaut mieux ouvrir une discussion par problème.
Ca simplifie la vie aux lecteurs futurs qui peuvent trouver des solutions grâce au titre du post.
Sauf évidemment si la question tourne autour d'un bug ou amélioration de la solution de ce post.
 
Bonsoir,
Je pense après réflexion que la PJ ne correspond pas à vos besoins.
Si on appuie plusieurs fois sur le bouton on copie plusieurs fois les données, ce n'est paut être pas le but.
D'autre part si N° parc est unique et que suivant les jours les données changent sur ce N° de parc, il ne faut pas les copier mais remettre à jour les données en feuille 1 en fonction de la feuille2.
Je m'aperçois qu'en fait les specs d'entrée n'étaient pas si claires que ça. 🙂
Si pb alors faites signe.
 
Just for the fun,
Un V2 en PJ.
Les lignes de feuil2 dont le N° de parc n'existe pas en Feuil1 sont recopiées à la suite.
Les lignes de feuil2 dont le N° de parc existe en Feuil1 sont mises à jour.
Je pense que ça colle plus à ce que vous attendez. Avec :
VB:
Sub Transfert()
'Je voudrais remplir les colonnes A/B/K/L/S/T/AC de la feuille 1 avec les colonnes B/C/J/R/N/O/V de la feuille 2
Application.ScreenUpdating = False
DL1 = Sheets("Feuil1").Range("A65500").End(xlUp).Row    ' Nb ligne Feuil1
DL2 = Sheets("Feuil2").Range("A65500").End(xlUp).Row    ' Nb ligne Feuil2
Set F = Sheets("Feuil2")
With Sheets("Feuil1")
    For L = 2 To DL2                                    ' Pour toute ligne de feuil2
        If Application.CountIf(.Range("B:B"), F.Cells(L, "C")) = 0 Then ' Le N° de parc n'existe pas
            DL1 = DL1 + 1                                               ' Incrément N° ligne de transfert
            Copie DL1, L
        Else
            Lx = Application.Match(F.Cells(L, "C"), .Range("B:B"), 0)   ' Ligne où se trouve N° parc.
            Copie Lx, L
        End If
    Next L
End With
End Sub
Sub Copie(Li1, Li2) ' Transfert cellules
    Set F = Sheets("Feuil2")
    With Sheets("Feuil1")
        .Cells(Li1, "A") = F.Cells(Li2, "B")
        .Cells(Li1, "B") = F.Cells(Li2, "C")
        .Cells(Li1, "K") = F.Cells(Li2, "J")
        .Cells(Li1, "L") = F.Cells(Li2, "R")
        .Cells(Li1, "S") = F.Cells(Li2, "N")
        .Cells(Li1, "T") = F.Cells(Li2, "O")
        .Cells(Li1, "AC") = F.Cells(Li2, "V")
    End With
End Sub
 

Pièces jointes

Dernière édition:
Bonjour,

Alors j'ai essayé le code, ça me colle bien les données dans les cellules demandées en revanche ça me copie la 1ère ligne, et il me faudrait une recherchev des données qui sont dans la colonne F de la feuille 1 et qui va prendre les cellules de cette valeur de la feuille 2, est ce que ca vous serait possible?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
235
Réponses
4
Affichages
109
Retour