Amélioration Macro
Bonsoir le Forum
Je me permets de vous mettre 3 macros pour les améliorées, je les ai faites via l'enregistreur de macro, lors du déclenchement j'ai comme des flachs à l'écran.
Merci pour votre aide
Clt
Sub Travail()
Range("i2:N2").Select 'je selectionne les cellules de I2 à N2
Selection.AutoFill Destination:=Range("i2:N310"), Type:=xlFillDefault 'et les copies jusqu'a la ligne 310
Range("K2:N2").Select
Range(Selection, Selection.End(xlDown)).Select ' je copie la plage de k2 à N2
ActiveWindow.SmallScroll Down:=-45
Selection.Copy
Range("P2").Select ' je me positionne sur P2 et copie les valeur uniquement
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Columns("S:S").Select
Selection.NumberFormat = "#,##0.00_);[Red](#,##0.00)" ' je mets au format monétaire
Range("U1").Select
ActiveWorkbook.Save ' j'enregistre la feuille
End Sub
Sub Efface_les_Données()
'Sheets("Recup_Données").Select 'Je selectionne la feuil ("Recup_Données").
Range("A2:C2").Select 'Je selectionne la plage A2 C2 et j' efface
Range(Selection, Selection.End(xlDown)).Select ' Jusqu'a la dernière cellule pleinne
Selection.ClearContents ' J'efface
Range("H2:I2").Select ' Je selectionne la plage H2 I2
Range(Selection, Selection.End(xlDown)).Select ' Jusqu'a la dernière cellule pleinne
Selection.ClearContents ' J'efface
Range("P2:S2").Select 'Je selectionne la plage P2 S2
Range(Selection, Selection.End(xlDown)).Select ' Jusqu'a la dernière cellule pleinne
Selection.ClearContents ' J'efface
Range("P2").Select
Sheets("Feuil_Export").Select 'Je selectionne la feuil ("Feuil_Export").
Range("A2:I2").Select Je selectionne la plage
Range(Selection, Selection.End(xlDown)).Select ' Jusqu'a la dernière cellule pleinne
Selection.ClearContents ' J'efface
Range("a2").Select
ActiveWorkbook.Save ' Je sauve
Sheets("Feuil_Export").Select
End Sub
Sub Colle_Données()
Sheets("Feuil_Export").Select
Range("A2").Select
ActiveSheet.Paste
Range("A2").Select
Range("B2:B65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'je supprime les lignes vides
Range("A2:C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Recup_Données").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("Feuil_Export").Select
Range("H2:I81").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Recup_Données").Select
Range("H2").Select
ActiveSheet.Paste
Range("P2").Select
End Sub
Bonjour vsp31,
J'crois qu't'as laissé ta 1ère sub faire trempette trop longtemps : elle a rétréci au lavage !
Sub Travail()
Application.ScreenUpdating = 0 ' empêche la mise à jour de l'écran (évite les flashes)
[I2:N2].AutoFill [I2:N310], 0 ' copie I2:N2 jusqu'en ligne 310
Range("K2:N" & Cells(Rows.Count, "K").End(xlUp).Row).Copy ' copie la plage K2:N & dernière ligne
[P2].PasteSpecial -4163 ' en P2 : copie des valeurs uniquement
Application.CutCopyMode = False
Columns("S").NumberFormat = "#,##0.00_);[Red](#,##0.00)" ' colonne S au format monétaire
[U1].Select: ActiveWorkbook.Save ' enregistre le classeur
End Sub
Pour la cure d'amaigrissement des 2 autres, j'te laisse faire dans l'même style.
dhany
Bonjour et merci dhany
Au séchage elle rentre plus dans son habit de travail
Je rencontre deux petits problèmes, je suis dans la misère pour faire des crochets la raison je suis sur un mac mais je travail sous windows et le clavier mac sous windows ne connais pas les crochets, si se n'est faire une modification de la nappe etc......vu sur le net
et l'autre : Columns("S").NumberFormat = "#,##0.00_);[Red](#,##0.00)" ' colonne S au format monétaire ouvre la fenêtre débogage erreur"438" propriété ou méthode non gérée par cet objet.
Merci
Bonne Journée
Clt
Voyons d'abord ton instruction VBA problématique :
Columns("S").NumberFormat = "#,##0.00_);[Red](#,##0.00)" ' colonne S au format monétaire
Tu as écrit que ça génère l'erreur "438" : propriété ou méthode non gérée par cet objet.
Pourtant, le début est bon : Columns("S").NumberFormat =
; on peut effectivement appliquer un format (numérique ou non) à une colonne entière ; donc sûr à 100% que ça marche (sauf si la feuille est protégée, avec ou sans mot de passe, et que les cellules de la colonne S sont verrouillées) ; donc si c'est ok d'ce côté-là, ça peut venir que du format lui-même : à vérifier ! il me semble qu'il faudrait une virgule à la place du point-virgule, non ?
vsp31 a écrit :je suis dans la misère pour faire des crochets la raison je suis sur un mac
1) Sur le clavier d'un PC, on peut obtenir un caractère (absent ou présent sur les touches) en appuyant sur la touche Alt gauche, en la maintenant enfoncée, en tapant le code numérique décimal du code ascii du caractère sur le pavé numérique, puis en relâchant la touche Alt (oui, la même, donc toujours la gauche
2) Autre solution, qui sera probablement plus efficace (lire d'abord le 1er lien, les 4 autres sont en bonus) :
https://www.memoinfo.fr/tutoriels-mac-osx/raccourcis-claviers-caracteres-speciaux-mac-osx/
https://support.apple.com/fr-fr/HT201236
https://www.blogdumoderateur.com/raccourcis-clavier-mac/
http://www.debutersurmac.com/tutoriels/raccourcis.html
https://dev.w3.org/Amaya/doc/WX/ShortCuts-MacOSX.html.fr
Voilà : t'as l'embarras du choix ! si tu trouves pas ton bonheur là-dedans, j'crois qu'c'est à désespérer !
J'présume que si tu connaissais pas, ça va sûrement t'changer la vie ! que tu pourras alors voir en rose !!!
mais attention, sahib : si toi voir éléphants roses, ça y'en avoir être plutôt mauvais signe !
3) Malgré toutes ces infos, j'veux t'éviter d'chercher une touche que tu pourras jamais trouver sur ton clavier :
dhany
Bonsoir dhany, le forum
Merci pour toutes ces infos, j'ai retrouvé mes crochets, le code fonctionne, il me reste plus qu'a voir pour les 2 autres.
Je reviendrais faire un tour si je boque.
bonne fin de journée.
OK, mais pour passer un sujet en résolu, faut pas afficher le joli p'tit panneau mais faire c'qu'y'a noté dessus : tu dois donc cliquer sur la coche V (située près du bouton EDIT), et ça permet aussi de clôturer le fil de cette discussion.
Tu sauras que tu as réussi quand tu verras un petit rond vert avec une coche, comme ceci :
bonne fin de journée à toi aussi.
dhany