Microsoft 365 Éditer une cellule et l'enregistrer dans un autre onglet

Evygeographe

XLDnaute Nouveau
J'ai un onglet qui me sert de base de données pour chacun de mes projet. 1 projet = 1 ligne. J'ai environ 175 colonne qui colligent toutes les info relatives à mes projets et un peu plus à venir) . J'ai aussi créer un onglet nommé "tableau de bord" qui me permet de voir sur une seule page chacun de mes projets. Ce tableau de bord est créé essentiellement à partir de fonction "RECHERCHEX" qui puise l'information dans l'onglet "base de donnée". j'ai donc seulement à entrer un numéro de projet et tout son info m'apparait à l'écran.

Lors de mes suivi de projets, j'aimerais pouvoir éditer certaines cases dans le tableau de bord et que cette nouvelle info soit exportée vers ma base de données et s'enregistre pour que je puisse ensuite changer de projet dans mon tableau de bord et visualiser (et éditer) un autre projet. J'ai fai un fichier résumé où dans l'onglet "Tableau de bord, j'entre mon numéro deprojet dans la case jaune. Il importe l'info de l'onglet "BaseDonnees". Donc si, par exemple, au lieu de CODE_ DT : 63 je voudrais le changer pour CODE_DT : 67 dans le tableau de bord et je veux que cette nouvelle info soit enregistrer dans la base de donnée et qu'elle reste enregistrer si je change de projet dans mon tableau de bord vous feriez ça comment?
 

Pièces jointes

  • Test_import_enrg.xlsx
    51.9 KB · Affichages: 8

Dranreb

XLDnaute Barbatruc
Bonsoir.
Je ferais ça en VBA. Mais avec un UserForm de consultation et mise à jour plutôt qu'avec une feuille fiche, et après avoir transformé la plage de la base en tableau Excel (à références structurées).
Ça aurait alors un style semblable au classeur joint ci dessous, qu'on pourrait d'ailleurs transformer en changeant le contenu des colonnes, titres compris, et les noms des contrôles du UserForm.
 

Pièces jointes

  • CLsCAsContacts.xlsm
    159.6 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour Evygeographe, Bernard,

On peut aussi dans la feuille "Tabl. Bord" ajouter une colonne "Modifications" et cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim projet As Range, P As Range, F As Worksheet, lig As Variant, i&
Set projet = [B2]
Set P = [C3:C7] 'plage des modifications
Set F = Sheets("BaseDonnees")
lig = Application.Match(projet, F.Columns(1), 0)
If Intersect(Target, projet) Is Nothing And IsNumeric(lig) Then
    For i = 1 To P.Rows.Count
        If P(i) <> "" Then F.Cells(lig, i + 1) = P(i)
    Next
Else
    Application.EnableEvents = False 'désactive les évènements
    P.ClearContents 'RAZ
    Application.EnableEvents = True 'réactive les évènements
End If
End Sub
En colonne B j'utilise RECHERCHEV car je n'ai pas RECHERCHEX.

A+
 

Pièces jointes

  • Test_import_enrg.xlsm
    61.1 KB · Affichages: 3

Evygeographe

XLDnaute Nouveau
Bonsoir.
Je ferais ça en VBA. Mais avec un UserForm de consultation et mise à jour plutôt qu'avec une feuille fiche, et après avoir transformé la plage de la base en tableau Excel (à références structurées).
Ça aurait alors un style semblable au classeur joint ci dessous, qu'on pourrait d'ailleurs transformer en changeant le contenu des colonnes, titres compris, et les noms des contrôles du UserForm.
Je ne connais pas les UserForm mais je crois que je vais m'y mettre! Merci beaucoup du tuyau... j'aurai peut-être d'autres question à venir ...
 

Discussions similaires

Réponses
4
Affichages
283

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit