Enregistrement VBA xls en xlsx
Résolu
sethin
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Me revoici pour une ultime question (jusqu'à la prochaine). ccm81 m'a créé une macro VBA pour un planning et enregistrer au format xls. (256 colonnes max). Lorsque je transfère cette macro sur mon fichier en xlsx (besoin de plus de 256 colonnes) je ne peux pas l'enregistrer.
J'ai essayé d'enregistrer sous un format xlsm (comme vu dans certaines réponses du forum) mais cela ne fonctionnent toujours pas.
Existe-t-il un moyen d'enregistrer une macro xls sous un format xlsx ?
Me revoici pour une ultime question (jusqu'à la prochaine). ccm81 m'a créé une macro VBA pour un planning et enregistrer au format xls. (256 colonnes max). Lorsque je transfère cette macro sur mon fichier en xlsx (besoin de plus de 256 colonnes) je ne peux pas l'enregistrer.
J'ai essayé d'enregistrer sous un format xlsm (comme vu dans certaines réponses du forum) mais cela ne fonctionnent toujours pas.
Existe-t-il un moyen d'enregistrer une macro xls sous un format xlsx ?
A voir également:
- Vba enregistrer sous xlsx
- Audacity enregistrer son pc - Guide
- Comment ouvrir un fichier xlsx ? - Guide
- Xlsx - Télécharger - Tableur
- Comment enregistrer une conversation - Guide
- Enregistrer son ecran - Guide
6 réponses
Re,
sous ta macro colle ce code
ensuite à la fin de ta macro Public Sub defusionner() juste avant End Sub
saisir Call MFC
comme cela
Next cel
Call MFC
End Sub
sous ta macro colle ce code
Public Sub MFC()
Dim plage As Range
Set plage = Range("E4:OK60")
Cells.FormatConditions.Delete
plage.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=JOURSEM(E$4;2)>5"
plage.FormatConditions(plage.FormatConditions.Count).SetFirstPriority
plage.FormatConditions(1).Interior.ColorIndex = 15
plage.FormatConditions(1).StopIfTrue = False
plage.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=NB.SI('FERIES-TAOPM'!E2:E16;PLANNING!E4)"
plage.FormatConditions(plage.FormatConditions.Count).SetFirstPriority
plage.FormatConditions(1).Interior.ColorIndex = 19
plage.FormatConditions(1).Font.ColorIndex = 3
plage.FormatConditions(1).StopIfTrue = False
plage.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=NB.SI('FERIES-TAOPM'!$B$2:$B$14;E$4)"
plage.FormatConditions(plage.FormatConditions.Count).SetFirstPriority
plage.FormatConditions(1).Interior.ColorIndex = 19
plage.FormatConditions(1).Font.ColorIndex = 3
plage.FormatConditions(1).StopIfTrue = False
End Sub
ensuite à la fin de ta macro Public Sub defusionner() juste avant End Sub
saisir Call MFC
comme cela
Next cel
Call MFC
End Sub
sethin
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
Ca fonctionne très très bien. Merci beaucoup à Mike-31 et ccm81 pour leur aide très appréciable.
Bonjour,
si ton fichier contient des codes VBA, tu ne peux pas utiliser ou enregistrer sous l'extension XLSX mais sélectionner l'extension XLSM
ensuite si tes codes ne fonctionnent pas il s'agit d'un niveau de protection trop élevé
alors commence par enregistrer sous le fichier et donne lui l'extension XLSM
puis onglet Développeur/module Code/Sécurité des macros/Activer toutes les macros(non recommandé) .........
enregistre le fichier avant de le fermer et de l'ouvrir à nouveau
accepte l'activation des macros et teste ton fichier
si tout fonctionne je t'expliquerai comment remonter le niveau de protection
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
si ton fichier contient des codes VBA, tu ne peux pas utiliser ou enregistrer sous l'extension XLSX mais sélectionner l'extension XLSM
ensuite si tes codes ne fonctionnent pas il s'agit d'un niveau de protection trop élevé
alors commence par enregistrer sous le fichier et donne lui l'extension XLSM
puis onglet Développeur/module Code/Sécurité des macros/Activer toutes les macros(non recommandé) .........
enregistre le fichier avant de le fermer et de l'ouvrir à nouveau
accepte l'activation des macros et teste ton fichier
si tout fonctionne je t'expliquerai comment remonter le niveau de protection
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
as tu contrôlé le niveau de protection de tes macros
regarde la procédure que j'ai rédigé pour relever le niveau et travailler avec un niveau de sécurité élevé pour ta sécurité et celle de ton système
https://www.commentcamarche.net/faq/21009-excel-signature-numerique
as tu contrôlé le niveau de protection de tes macros
regarde la procédure que j'ai rédigé pour relever le niveau et travailler avec un niveau de sécurité élevé pour ta sécurité et celle de ton système
https://www.commentcamarche.net/faq/21009-excel-signature-numerique
Merci Mike-31,
Je vais voir ce que cela donne en situation car nous allons être plusieurs à travailler sur ce fichier avec des ordinateurs différents, des sessions différentes et des niveaux d'informatiques différents.
Également je viens de me rendre compte d'un autre problème, je joins d'abord le fichier puis j'explique où est le problème :
https://www.cjoint.com/c/FHjlTjOqlDL
1- sélectionner une cellule dans la plage E6:OK60
2- regarder les 3 mises en forme conditionnelle (leur plage d'application est E4:OK60, ce qui est normal)
3- sélectionner une plage (admettons J12:N12) et fusionner la plage (ce qui équivaut à attribuer une tâche sur plusieurs jours)
4- malheureusement cette tâche est annulée et pour la plage en question (J12:N12) appliquons la macro (merci ccm81) Ctrl+d
5- en apparence tout redevient comme avant
6- sélectionnons une cellule dans la plage E6:OK60 et regardons les mises en forme conditionnelle.
7- les plages d'application ne sont plus du tout comme à l'origine (pour rappel original d'application =E4:OK60)
Est-il possible de remédier à cela ? Peut-on avoir des plages d'application verrouillées pour les mises en forme conditionnelle ? via VBA? via mfc ?
SI besoin pour cette question, je peux réouvrir un sujet avec un titre plus adéquat...
Merci à ceux qui me liront
Je vais voir ce que cela donne en situation car nous allons être plusieurs à travailler sur ce fichier avec des ordinateurs différents, des sessions différentes et des niveaux d'informatiques différents.
Également je viens de me rendre compte d'un autre problème, je joins d'abord le fichier puis j'explique où est le problème :
https://www.cjoint.com/c/FHjlTjOqlDL
1- sélectionner une cellule dans la plage E6:OK60
2- regarder les 3 mises en forme conditionnelle (leur plage d'application est E4:OK60, ce qui est normal)
3- sélectionner une plage (admettons J12:N12) et fusionner la plage (ce qui équivaut à attribuer une tâche sur plusieurs jours)
4- malheureusement cette tâche est annulée et pour la plage en question (J12:N12) appliquons la macro (merci ccm81) Ctrl+d
5- en apparence tout redevient comme avant
6- sélectionnons une cellule dans la plage E6:OK60 et regardons les mises en forme conditionnelle.
7- les plages d'application ne sont plus du tout comme à l'origine (pour rappel original d'application =E4:OK60)
Est-il possible de remédier à cela ? Peut-on avoir des plages d'application verrouillées pour les mises en forme conditionnelle ? via VBA? via mfc ?
SI besoin pour cette question, je peux réouvrir un sujet avec un titre plus adéquat...
Merci à ceux qui me liront
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question