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

Microsoft 365 programme VBA pour "importer" les valeurs de certaines cellules d'une autre feuille appartenant à une ligne que j'identifie par un n°

arnomorize

XLDnaute Nouveau
Je sais, c'est un titre un peu long mais je n'arrive pas à synthétiser davantage...

Dans une feuille (formulaire nouvel objet), j'ai créé un formulaire qui va alimenter automatiquement un tableau d'une autre feuille (saison), en insérant une ligne, la remplissant des valeurs du formulaire, et la faisant débuter par un n° de ligne qui s'incrémente à chaque nouvelle ligne créée.
Ainsi, chaque nouvelle entrée est précédée par un n°

J'ai créé un autre formulaire dans une autre feuille (formulaire nouvelle dpae) pour traiter certaines informations du tableau

Pouvez vous m'aider à atteindre cet objectif :
Je voudrais saisir un n° dans une cellule "d'appel" de ce nouveau formulaire, afin de faire remonter certaines des valeurs de la ligne correspondante dans le nouveau formulaire.

Sachant qu'à chaque nouvelle entrée, les lignes se déplacent vers le bas, elles perdent donc leur position physique dans le tableau.

Je vous remercie de votre aide
 

Pièces jointes

  • essai arno.xlsm
    106.3 KB · Affichages: 8
Solution
il faut renommer la table de la feuille DPAE
en t_DPAE (puisque c'est le nom utilisé dans le code

un peu de lecture ici pour comprendre

vgendron

XLDnaute Barbatruc
Hello

pour le bouton "Maison", il suffit de le mettre dans le formulaire==> il sera recopié automatiquement

pour le nom avec la date, il suffit de l'ajouter dans le NomFile

VB:
Sub SaveDPAE()
Dim Chemin As String

Chemin = "\\mairie-talant.lan\partages\donnees\LECRIN\Dossiers PARTAGES\INTERMITTENTS ET LOCATIONS\EMBAUCHE INTERMITTENTS" 'à modifier
Set WsSource = ActiveSheet

    With WsSource 'avec la feuille source
        NomFile = Format(Now, "dd_mm_yyyy") & "_" & Left(.Range("D5"), 15) & "_DPAE" 'on récupère le nom et on ajoute _DPAE pour faire le nom de fichier
        .Copy after:=Sheets(Sheets.Count) 'on copie la feuille dans le classeur
        With ActiveSheet
            .Name = NomFile 'on renomme la feuille
            .Range("B5:F5") = .Range("B5:F5").Value ' on remplace les formules par leur résultat
            .Range("D9:K17") = .Range("D9:K17").Value
            .Shapes("Bouton 1").Delete 'on supprime le bouton
            .Copy 'on copie la feuille dans un nouveau classeur
        End With
        
        ChDir Chemin
        ActiveWorkbook.SaveAs Filename:=Chemin & "\" & NomFile & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'on enregistre le nouveau classeur
        ActiveWindow.Close 'on le ferme
        Application.DisplayAlerts = False 'on désactive les alarmes
        ActiveWorkbook.Sheets(NomFile).Delete 'on supprime la feuille _DPAE (si tu souhaites la garder dans le classeur d'origine, tu mets la ligne en commentaire)
        Application.DisplayAlerts = True
    End With
End Sub

attention.. le nom de l'onglet ne peut pas excéder 31 caractères..
NomFile = Format(Now, "dd_mm_yyyy") & "_" & Left(.Range("D5"), 15) & "_DPAE"
avec les préfixes "date et suffixe _DPAE, il reste 15 caractères pour le nom

pour le dernier point.. la feuille budget est écrasée à chaque nouvelle DPAE?
 

arnomorize

XLDnaute Nouveau
Mince, je n'ai pas été clair, ce n'est pas la date d'aujourd'hui que je veux ajouter au nom de fichier, c'est la date de l'objet (cellule F5 de la feuille FormulaireNouvelleDpae)
Concernant la feuille budget, ton tableau fera le boulot à la place des miens et j'ajoute en dernière colonne le budget restant à chaque ligne.
 

Pièces jointes

  • Gestion Ecrin 2025.xlsm
    241 KB · Affichages: 0

vgendron

XLDnaute Barbatruc
il te suffit de remplacer la bonne info dans cette ligne de code
VB:
NomFile = Format(Now, "dd_mm_yyyy") & "_" & Left(.Range("D5"), 15) & "_DPAE" 'on récupère le nom et on ajoute _DPAE pour faire le nom de fichier
 

arnomorize

XLDnaute Nouveau
Effectivement, j'ai corrigé
Pour revenir sur le tableau généré dans budget, je ne comprends pas pourquoi les infos (montant et nom) ne remontent pas ?
 

Pièces jointes

  • Gestion Ecrin 2025.xlsm
    244.5 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
il faut renommer la table de la feuille DPAE
en t_DPAE (puisque c'est le nom utilisé dans le code

un peu de lecture ici pour comprendre
 

arnomorize

XLDnaute Nouveau
vgendron,
Je te remercie infiniment pour ta patience, je n'imagine pas le temps qu'il faut pour acquérir toutes ces connaissances, je suis très impressionné.
Tu m'as réalisé un superbe outil qui dépasse ce que j'espérais.
Je vais essayer de trouver le temps de lire les articles que tu m'as envoyés.
Au plaisir de te recroiser
 

Discussions similaires

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