Donsimend
XLDnaute Nouveau
Bonjour à tous,
Tout est dans le titre, j'ai fait une macro pour coller des données dans un tableau et faire quelques manipulations après. ça marchait hier mais ce matin ça ne marche plus. le copier est fait manuellement d'un autre classeur (jamais le même), le reste c'est un clique sur bouton.
Merci d'avance,
ActiveSheet.Range("A13").Select
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _
False
Le coller ne marche pas. en cherchant un peu j'ai trouvé plusieurs versions: ajouter NoHTMLFormatting:=0 ou Supprimer format:="texte"
/!\ j'ai besoin de coller les valeurs sans mise en forme car l'origine contient des cellules fusionnées.
Range("Tableau1[[#Headers],[Montant ASST]]").Select
Range("D13").Select
ActiveCell.FormulaR1C1 = "=[@[Montant EAU+ASST]]-[@[Montant EAU]]"
Pour la suite, j'ai 2 traitements où je créé 1 colonne temporaire pour appliquer une manipulation, copier les données obtenues et remplacer les originales. Si vous pensez à un moyen plus simple je suis preneur également. C'est d'ailleurs une question que je me pose souvent, peut-on appliquer une formule à une cellule directement sans passer par une autre ?
Columns("B:B").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B13").Select
ActiveCell.FormulaR1C1 = "=1*[@[Date" & Chr(10) & "facture]]" //corrige un problème de collage des dates//
Range("B13").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A13").Select
ActiveSheet.Paste
Columns("B:B").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C13").Select
ActiveCell.FormulaR1C1 = "=RIGHT([@N°facture],6)"
Range("C13").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("B13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
ActiveWorkbook.RefreshAll
End Sub
Tout est dans le titre, j'ai fait une macro pour coller des données dans un tableau et faire quelques manipulations après. ça marchait hier mais ce matin ça ne marche plus. le copier est fait manuellement d'un autre classeur (jamais le même), le reste c'est un clique sur bouton.
Merci d'avance,
ActiveSheet.Range("A13").Select
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _
False
Le coller ne marche pas. en cherchant un peu j'ai trouvé plusieurs versions: ajouter NoHTMLFormatting:=0 ou Supprimer format:="texte"
/!\ j'ai besoin de coller les valeurs sans mise en forme car l'origine contient des cellules fusionnées.
Range("Tableau1[[#Headers],[Montant ASST]]").Select
Range("D13").Select
ActiveCell.FormulaR1C1 = "=[@[Montant EAU+ASST]]-[@[Montant EAU]]"
Pour la suite, j'ai 2 traitements où je créé 1 colonne temporaire pour appliquer une manipulation, copier les données obtenues et remplacer les originales. Si vous pensez à un moyen plus simple je suis preneur également. C'est d'ailleurs une question que je me pose souvent, peut-on appliquer une formule à une cellule directement sans passer par une autre ?
Columns("B:B").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B13").Select
ActiveCell.FormulaR1C1 = "=1*[@[Date" & Chr(10) & "facture]]" //corrige un problème de collage des dates//
Range("B13").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A13").Select
ActiveSheet.Paste
Columns("B:B").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C13").Select
ActiveCell.FormulaR1C1 = "=RIGHT([@N°facture],6)"
Range("C13").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("B13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
ActiveWorkbook.RefreshAll
End Sub