Excel VBA : transposer résultat calcul
Résolu
Grandjean
-
Grandjean -
Grandjean -
Bonjour,
Je travaille sous Excel 2007.
Je suis en train de développer des applications de gestion pour mon association avec Excel, et notamment en utilisant Excel comme base de données.
Dans mon formulaire (construit non pas avec un userform, mais avec une feuille excel classique), j'ai intégré des formules de calcul.
Lorsque je transpose les données, je perd le résultat du calcul.
Y a t'il une solution à ce problème ? J'avoue avoir cherché sur le net sans trouver de solution compréhensible à l'utilisateur que je suis.
Pour faciliter la compréhension, voici la macro que j'utilise pour transposer les données :
Sub Creation_Article()
'Atteindre le formulaire ARTICLE et mémoriser les données
Sheets("Form_Article").Select
Range("B1:B5").Select
Selection.Copy
'test pour identifier ligne libre
Sheets("Base_Article").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(xlDown).Select
ligne_active_baseA = ActiveCell.Row
Range("A" & ligne_active_baseA + 1).Select
End If
'mémorise le numéro de la ligne où coller les données
ligne_active_baseA = ActiveCell.Row
'collage avec transposition
Range("A" & ligne_active_baseA).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, operation:=xlNone, skipblanks:=False, transpose:=True
'trier les articles par ordre croissant
Range("A1:E1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'rendre vierge le formulaire
Sheets("Form_Article").Select
Range("B1:B3").ClearContents
Range("B5").ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base_Article").Select
Range("A1").Select
End Sub
Merci par avance pour votre aide.
Bon après-midi,
Jean
Je travaille sous Excel 2007.
Je suis en train de développer des applications de gestion pour mon association avec Excel, et notamment en utilisant Excel comme base de données.
Dans mon formulaire (construit non pas avec un userform, mais avec une feuille excel classique), j'ai intégré des formules de calcul.
Lorsque je transpose les données, je perd le résultat du calcul.
Y a t'il une solution à ce problème ? J'avoue avoir cherché sur le net sans trouver de solution compréhensible à l'utilisateur que je suis.
Pour faciliter la compréhension, voici la macro que j'utilise pour transposer les données :
Sub Creation_Article()
'Atteindre le formulaire ARTICLE et mémoriser les données
Sheets("Form_Article").Select
Range("B1:B5").Select
Selection.Copy
'test pour identifier ligne libre
Sheets("Base_Article").Select
valeurA2 = Range("A2").Value
If valeurA2 = "" Then
Range("A2").Select
Else
Range("A1").Select
Selection.End(xlDown).Select
ligne_active_baseA = ActiveCell.Row
Range("A" & ligne_active_baseA + 1).Select
End If
'mémorise le numéro de la ligne où coller les données
ligne_active_baseA = ActiveCell.Row
'collage avec transposition
Range("A" & ligne_active_baseA).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, operation:=xlNone, skipblanks:=False, transpose:=True
'trier les articles par ordre croissant
Range("A1:E1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'rendre vierge le formulaire
Sheets("Form_Article").Select
Range("B1:B3").ClearContents
Range("B5").ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base_Article").Select
Range("A1").Select
End Sub
Merci par avance pour votre aide.
Bon après-midi,
Jean
A voir également:
- Excel VBA : transposer résultat calcul
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
bonjour
essaies
essaies
Sub Creer_Article() Dim lig As Integer With Sheets("Base_Article") lig = .Columns("A").Find("", .Range("A1"), xlValues).Row .Cells(lig, "A").Resize(1, 5) = Application.Transpose(Sheets("Form_Article").Range("B1:B5").Value) .Range("A2:E" & lig).Sort .Range("A2") End With With Sheets("Form_Article") .Range("B1:B3").ClearContents .Range("B5").ClearContents .Range("B1").Select End With Sheets("Base_Article").Activate End Sub