Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Bonjour,
Merci pour votre réponse, mon problème a été résolu
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Bonjour à tous,
J'ai une formule dans ma feuille 1 avec une formule somme toute simple, mais dans cette formule je n'arrive pas a figer une cellule qui se trouve dans ma feuille2 dans une mise en forme sous tableau.
J'ai une macro qui me valide tout mon formulaire de la feuille1 dans mon tableau de la feuille2 avec un renvoi a la ligne, quand je valide mes données ma formule somme se retrouve changer.
Concrètement:
dans mon formulaire en Feuil1
dans ma cellule D9 , j ai ma formule : =Feuil2!$c$5 "c est la cellule qui provient de ma mise sous forme de tableau"+1
cette cellule change malgré les $ quand je valide mon formulaire
Merci par avance pour vos réponse
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.
Bonjour,
Merci pour votre réponse, mon problème a été résolu
Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.
Merci de votre réponse rapide et de vous faire attendre.
Le code de votre macro peut entraîner la modification de la référence de la formule lorsque vous insérez une nouvelle ligne. J’ai ajouté du code derrière votre code qui réinitialise la formule après avoir inséré une nouvelle ligne :
Sub Copier()
Dim wk_fichier As Workbook
Dim WS_Adhesion As Worksheet
Dim ws_Base As Worksheet
'Define the variable
Set wk_fichier = ActiveWorkbook
Set WS_Adhesion = wk_fichier.Worksheets(3)
Set ws_Base = wk_fichier.Worksheets(4)
'Copy and paste the cell
ws_Base.Cells(4, 1) = WS_Adhesion.Cells(6, 4)
ws_Base.Cells(4, 2) = WS_Adhesion.Cells(7, 4)
ws_Base.Cells(4, 3) = WS_Adhesion.Cells(9, 4)
ws_Base.Cells(4, 4) = WS_Adhesion.Cells(12, 4)
ws_Base.Cells(4, 5) = WS_Adhesion.Cells(13, 4)
ws_Base.Cells(4, 6) = WS_Adhesion.Cells(14, 4)
ws_Base.Cells(4, 7) = WS_Adhesion.Cells(15, 4)
ws_Base.Cells(4, 8) = WS_Adhesion.Cells(16, 4)
ws_Base.Cells(4, 9) = WS_Adhesion.Cells(17, 4)
ws_Base.Cells(4, 10) = WS_Adhesion.Cells(18, 4)
ws_Base.Cells(4, 11) = WS_Adhesion.Cells(20, 8)
ws_Base.Cells(4, 12) = WS_Adhesion.Cells(23, 4)
ws_Base.Cells(4, 13) = WS_Adhesion.Cells(24, 4)
ws_Base.Cells(4, 14) = WS_Adhesion.Cells(25, 4)
ws_Base.Cells(4, 15) = WS_Adhesion.Cells(30, 4)
'Insert new row
Sheets("Base").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'Reset the formula
WS_Adhesion.Cells(9, 4).Formula = "=Feuil2!$C$5+1"
End Sub
J’espère que cela vous aidera.
Arthur - MSFT | Spécialiste du support communautaire Microsoft
Bonjour,
Merci pour votre répons réactive
La fonction indirect me met une erreur de valeur
La macro me met une erreur sur le nom de la macro.
Je vous partage la macro que j'ai faite
Sub Copier()
Dim wk_fichier As Workbook
Dim WS_Adhesion As Worksheet
Dim ws_Base As Worksheet
'Définir les variables fichiers et onglets
Set wk_fichier = ActiveWorkbook
Set WS_Adhesion = wk_fichier.Worksheets(3)
Set ws_Base = wk_fichier.Worksheets(4)
'Copier coller de la cellule
ws_Base.Cells(4, 1) = WS_Adhesion.Cells(6, 4)
ws_Base.Cells(4, 2) = WS_Adhesion.Cells(7, 4)
ws_Base.Cells(4, 3) = WS_Adhesion.Cells(9, 4)
ws_Base.Cells(4, 4) = WS_Adhesion.Cells(12, 4)
ws_Base.Cells(4, 5) = WS_Adhesion.Cells(13, 4)
ws_Base.Cells(4, 6) = WS_Adhesion.Cells(14, 4)
ws_Base.Cells(4, 7) = WS_Adhesion.Cells(15, 4)
ws_Base.Cells(4, 8) = WS_Adhesion.Cells(16, 4)
ws_Base.Cells(4, 9) = WS_Adhesion.Cells(17, 4)
ws_Base.Cells(4, 10) = WS_Adhesion.Cells(18, 4)
ws_Base.Cells(4, 11) = WS_Adhesion.Cells(20, 8)
ws_Base.Cells(4, 12) = WS_Adhesion.Cells(23, 4)
ws_Base.Cells(4, 13) = WS_Adhesion.Cells(24, 4)
ws_Base.Cells(4, 14) = WS_Adhesion.Cells(25, 4)
ws_Base.Cells(4, 15) = WS_Adhesion.Cells(30, 4)
' renvoi a la ligne Macro
Sheets("Base").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Merci par avance
Bonjour,
Merci pour votre répons réactive
La fonction indirect me met une erreur de valeur
La macro me met une erreur sur le nom de la macro.
Je vous partage la macro que j'ai faite
Sub Copier()
Dim wk_fichier As Workbook
Dim WS_Adhesion As Worksheet
Dim ws_Base As Worksheet
'Définir les variables fichiers et onglets
Set wk_fichier = ActiveWorkbook
Set WS_Adhesion = wk_fichier.Worksheets(3)
Set ws_Base = wk_fichier.Worksheets(4)
'Copier coller de la cellule
ws_Base.Cells(4, 1) = WS_Adhesion.Cells(6, 4)
ws_Base.Cells(4, 2) = WS_Adhesion.Cells(7, 4)
ws_Base.Cells(4, 3) = WS_Adhesion.Cells(9, 4)
ws_Base.Cells(4, 4) = WS_Adhesion.Cells(12, 4)
ws_Base.Cells(4, 5) = WS_Adhesion.Cells(13, 4)
ws_Base.Cells(4, 6) = WS_Adhesion.Cells(14, 4)
ws_Base.Cells(4, 7) = WS_Adhesion.Cells(15, 4)
ws_Base.Cells(4, 8) = WS_Adhesion.Cells(16, 4)
ws_Base.Cells(4, 9) = WS_Adhesion.Cells(17, 4)
ws_Base.Cells(4, 10) = WS_Adhesion.Cells(18, 4)
ws_Base.Cells(4, 11) = WS_Adhesion.Cells(20, 8)
ws_Base.Cells(4, 12) = WS_Adhesion.Cells(23, 4)
ws_Base.Cells(4, 13) = WS_Adhesion.Cells(24, 4)
ws_Base.Cells(4, 14) = WS_Adhesion.Cells(25, 4)
ws_Base.Cells(4, 15) = WS_Adhesion.Cells(30, 4)
' renvoi a la ligne Macro
Sheets("Base").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Merci par avance
Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.
Bonjour Ludovic Surplie, Merci d’utiliser les produits Microsoft et de publier dans la communauté.
D’après votre description, le problème peut provenir que vos formules dans Feuil1 ont changé après la validation du formulaire. Vous pouvez essayer les deux options suivantes :
=INDIRECT(“Feuil2!$C$5”)+1
Sheets(“Feuil1”).Range(“D9”).Formula = “=Feuil2!$C$5+1”
Comme je ne connais pas votre code VBA, je ne peux pas garantir que l’un ou l’autre des scénarios ci-dessus fonctionnera absolument. Si les options ci-dessus ne fonctionnent pas, vous pouvez m’envoyer le code VBA et j’en discuterai avec d’autres ingénieurs pour essayer de résoudre le problème.
Quoi qu’il en soit, j’ai hâte que vous me fassiez connaître les résultats. Dans l’attente de votre réponse.
Sinceres salutationsArthur - MSFT | Spécialiste du support communautaire Microsoft