XL 2019 Garder des liaisons après validation formulaire

hemardjean

XLDnaute Occasionnel
Bonjour à tous Bonjour le forum

Je travaille actuellement sur un dossier pour gérer des effectifs pour un lycée professionnel.

Pour ce faire j’ai récupéré un formulaire sur le site de "Boigontier" que j’ai arrangé pour mon dossier.

La « BD » dans les feuilles de calcul est alimentée par une autre feuille par des liaisons avec des « adressage ».

Mon problème vient que lorsque je valide le formulaire la validation écrase toutes les liaisons.

Ma question : peut-on faire que tous ces « adressage » reste dans la feuille de calcul BD après validation.

Merci bien Cordialement
 

Pièces jointes

  • FOrmeffectifs.xls
    68 KB · Affichages: 10

fanch55

XLDnaute Barbatruc
Salut,
je ne comprend pas très bien la démarche:
Bd fait référence par formules à des champs dans Feuil1.
Ce serait plutôt Feuil1 la base de donnée et c'est donc celle-ci que vous devriez mettre à jour via le formulaire.
Ceci dit, si vous voulez que BD conserve les formules dans les cellules,
Mettez dans la propriété Tag des textbox les adresses des cellules de Feuil1
par exemple Me.TextBox2.Tag = f.Cells(ligneEnreg, 2).Formula
et lors de la mise à jour des cellules de BD,
utilisez f.Cells(ligneEnreg, 2).Formula = Me.TextBox2.Tag

Ceci ne marche évidement qu'avec une ligne existante, pour une nouvelle ligne, il faudra construire le Tag .
 
Dernière édition:

hemardjean

XLDnaute Occasionnel
Bonjour

Merci .

En fait il y a deux BD , la 1er sert aux effectifs (feuille1) qui est modifiée relativement souvent en cours d’année

La 2eme ((BD)qui reçoit les formules avec les changements) elle est mise à jour en début d’année scolaire en fonction des stages et c’est cette BD qui dans le bas de chaque colonne fait la somme des élèves.

Pourriez-vous m’aider à comprendre vos explications ?

1 J’ai bien trouvé les tag mais faut-il y placer toutes les cellules de la colonne (ex Feuil1!I3 ; Feuil1!I4 ; Feuil1!I5 etc..?

2 J’ai remplacé dans Private Sub B_validation_Click()

le code Me.TextBox2.Tag = f.Cells(ligneEnreg, 2).Formula que vous m’avez donné

pour remplacer f.Cells(ligneEnreg, 2) = Me.TextBox2

3 J’ai remplacé dans Private Sub B_ajout_Click()

le code .Cells(ligneEnreg, 2).Formula = Me.TextBox2.Tag que vous m’avez donné

pour remplacer Me.TextBox2 = ""

ai-je bien compris vos explications

Merci
 

hemardjean

XLDnaute Occasionnel
Bonjour le forum,
Merci de vos contributions j'ai réussi à trouver la solution,la voici pour ceux que ça intéresse,

f.Cells(ligneEnreg, 1) = Application.Proper(Me!TextBox1)
For x = 2 To 6
Cells(2000, 1).Value = f.Cells(ligneEnreg, x).Value
Cells(2000, 2).Value = Me.Controls("TextBox" & x).Value
If Cells(2000, 1).Value <> Cells(2000, 2).Value Then
f.Cells(ligneEnreg, x) = Me.Controls("TextBox" & x).Value
End If
Next x
Cells(2000, 1).Value = ""
Cells(2000, 2).Value = ""

à bientôt peut-être pour de nouvelles questions
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib