Comment automatiser la fonction ctrl + : sous Excel
Bonjour,
Je vais essayer d'être plus clair que le titre. j'ai un tableau avec 2 cellules actuellement, quand je saisi la 1ère, je fait "ctrl + :" dans la deuxième pour avoir l'heure au moment de la saisi.
Je souhaite saisir la première cellule et avoir l'heure qui s'affiche automatiquement dans la deuxième cellule.
Si joint un fichier, dans l'espoir d'avoir été clair.
https://www.excel-pratique.com/~files/doc2/xcEsJheures.xls
@+
Merci pour vos réponses
bonjour,
Ce problème ne peut être solutionné que par macro.
Voir la
Pour voir la macro, une fois le classeur ouvert faire Alt+F11
A+
Merci pour ta réponse rapide galopin01.
Je la test et l'adapte à mon tableau. Si cela fonctionne comme je souhaite, je passe en résolu.
@+
Bonjour le forum,
Je relance car sous excel 97, j'ai un conflit entre la macro donnée par galopin01 et une autre macro.
Quand je lance la macro (appeler 2), un message d'erreur survient sous 97 "fonctions Retour() ou Arreter() introuvables sur la feuille macro.".
J'ai tester sans la macro de galoppin01, avec mais sans la macro2. Chaque macro fonctionne bien l'une sans l'autre mais ensemble erreur(sous excel97).
Pour info macro2 est lancé par opérateur avant saisi des champs.
J'espère avoir été clair.
Merci pour vos réponse.
@+
bonjour,
Difficile de gérer le conflit entre 2 macros en n'en connaissant que l'une des 2...
A+
Salut galopin01,
J'essaie d'envoyer la feuille mais trop grosse impossible de la joindre.
Donc la macro2 est du type :
=SI($B$4="")
=PROTEGER.DOCUMENT(FAUX;FAUX;"ekudkqzcxkgt";FAUX)
Vérification saisie numéro de lot
=SI('Calcul FDG'!$A$2="")
=ALERTE("ATTENTION N° lot non rempli")
=SELECTIONNER('Calcul FDG'!$A$2)
=RETOUR()
=FIN.SI()
Vérification saisie nom opérateur
=SI('Calcul FDG'!$D$8="")
=ALERTE("ATTENTION Nom opérateur non rempli")
=SELECTIONNER('Calcul FDG'!$D$8)
=RETOUR()
=FIN.SI()
Vérification saisie poids flacon vide
=SI('Calcul FDG'!$A$16="")
=ALERTE("ATTENTION Poids du flacon vide non rempli")
=SELECTIONNER('Calcul FDG'!$A$16)
=RETOUR()
=FIN.SI()
=FORMULE("1";$B$4)
Protection des cellules de selection du site
=ACTIVER("Calcul FDG";1)
Insertion de la valeur limite cyclo
=SI(OU('Calcul FDG'!$D$85="na";'Calcul FDG'!$D$85="N/A"))
=FORMULE("Valeur limite : N/A";'Calcul FDG'!$D$85)
=FIN.SI()
=FIN.SI()
=SI('Calcul FDG'!$D$85<>"")
=SELECTIONNER('Calcul FDG'!$D$85)
=PROTECTION.CELLULE(VRAI;FAUX)
=SINON()
=SELECTIONNER('Calcul FDG'!$D$85)
=PROTECTION.CELLULE(FAUX;FAUX)
=FIN.SI()
Changement du nom du Bouton
=ZONE.TEXTE("Lancé";"Bouton 50";1;)
=FORMAT.POLICE("arial";14;VRAI;VRAI;FAUX;FAUX;50;FAUX;FAUX;"Bouton 50";1;)
Protection des cellules
=SELECTIONNER('Calcul FDG'!A2)
=SI('Calcul FDG'!A2="";;PROTECTION.CELLULE(VRAI;FAUX))
=SELECTIONNER('Calcul FDG'!B8)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!$B$9)
=SI('Calcul FDG'!$B$9="";;PROTECTION.CELLULE(FAUX;VRAI);PROTECTION.CELLULE(VRAI;FAUX))
=SELECTIONNER('Calcul FDG'!D8)
=SI('Calcul FDG'!D8="";;PROTECTION.CELLULE(VRAI;FAUX))
=SELECTIONNER('Calcul FDG'!A16)
=SI('Calcul FDG'!A16="";;PROTECTION.CELLULE(VRAI;FAUX))
Déverouillage des cellules utilisées pendant la production
=SELECTIONNER('Calcul FDG'!B16)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!D16)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!A19:A19)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!C22:C23)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!D34:D35)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!C42:C43)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!C64)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!B83:D83)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!B93:C94)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!C103:D103)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!E104)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!C9)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!B40)
=PROTECTION.CELLULE(FAUX;FAUX)
=SELECTIONNER('Calcul FDG'!I1:I6)
=PROTECTION.CELLULE(VRAI;FAUX)
=PROTEGER.DOCUMENT(VRAI;FAUX;"ekudkqzcxkgt";VRAI)
=ACTIVER("Calcul Concentration";1)
=PROTEGER.DOCUMENT(FAUX;FAUX;"ekudkqzcxkgt";FAUX)
=COPIER('Calcul FDG'!A2)
=SELECTIONNER('Calcul Concentration'!A2)
=COLLAGE.SPECIAL(3;1;FAUX;FAUX)
=PROTECTION.CELLULE(VRAI;FAUX)
=ACTIVER("Calcul FDG";1)
Insertion de la date du jour de la création de la feuille
=SI('Calcul FDG'!C9="")
=AUJOURDHUI()
=COPIER(A93)
=SELECTIONNER('Calcul FDG'!C9)
=COLLAGE.SPECIAL(3;1;FAUX;FAUX)
=PROTEGER.DOCUMENT(FAUX;FAUX;"ekudkqzcxkgt";FAUX)
=SELECTIONNER('Calcul FDG'!C9)
=PROTECTION.CELLULE(VRAI;FAUX)
Protection du document
=PROTEGER.DOCUMENT(VRAI;FAUX;"ekudkqzcxkgt";VRAI)
=ACTIVER("Calcul Concentration";1)
=SELECTIONNER('Calcul Concentration'!1:65536)
=PROTEGER.DOCUMENT(VRAI;FAUX;"ekudkqzcxkgt";VRAI)
=ACTIVER("Calcul FDG";1)
=SELECTIONNER('Calcul FDG'!A2)
=FIN.SI()
=FIN.SI()
=RETOUR()
Merci les réponses
@ +
Salut le forum
Tu utilises des anciennes Macro XL4.
Il n'en reste pas beaucoup qui font partie du SPAM (Société protectrice des anciennes macros)
Attendons le retour d'Amadéus ou de Claude.
Mytå
Bonjour le forum,
Après plusieurs recherches, j'arrive à localiser les arrets avec l'erreur.
le 1er ce situe dans la macro au niveau :
=ACTIVER("Calcul Concentration";1)
=PROTEGER.DOCUMENT(FAUX;FAUX;"ekudkqzcxkgt";FAUX)
=COPIER('Calcul FDG'!A2)
=SELECTIONNER('Calcul Concentration'!A2)
=COLLAGE.SPECIAL(3;1;FAUX;FAUX)
=PROTECTION.CELLULE(VRAI;FAUX)
Ensuite un deuxième se produit ici :
=ACTIVER("Calcul FDG";1)
Insertion de la date du jour de la création de la feuille
=SI('Calcul FDG'!C9="")
=AUJOURDHUI()
=COPIER(A93)
=SELECTIONNER('Calcul FDG'!C9)
=COLLAGE.SPECIAL(3;1;FAUX;FAUX)
=PROTEGER.DOCUMENT(FAUX;FAUX;"ekudkqzcxkgt";FAUX)
=SELECTIONNER('Calcul FDG'!C9)
=PROTECTION.CELLULE(VRAI;FAUX)
En résumé : l'erreur ce génère a chaque remplissage automatique des cellule.
C'est ce que j'en conclu.
Y as t'il un moyen de réglé ce problème?
- Soit en passant ces lignes de la macro en vba.
- Soit en intégrant directement la macro donné par galopin01 dans cette macro pour évité ce conflit.
Rappel de la macro donnée :
Private Sub Worksheet_Change(ByVal Target As Range)
Set isect = Application.Intersect(Target, Range("B8:G9"))
If Not isect Is Nothing Then Target.Offset(-1) = Time
End Sub
Merci pour vos réponses
@+
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour à tous,
Au début de ta macro en Excel4, il faudrait annihiler le Private Sub,
l'équivalent de:
Application.EnableEvents = Falsemais je ne sais pas l'écrire en Excel4 !
et en fin de macro réactiver le Private Sub avec l'équivalent
Application.EnableEvents = TrueSans garantie
Amicalement
Claude.
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
re,
J'ai eu ce problème que je n'ai pu résoudre qu'en réécrivant toutes mes macros en VBA.
Sans avoir vraiment d'explication au problème
Amicalement
Claude.
Merci Claude,
Je vais essayer annihiler le Private Sub.
J'ai lu le lien que tu as laissé, mais j'y connait rien ou presque que rien en vba.
As tu trouver de la doc, quand tu est passé de macro excel4 à vba, sur les correspondances?
@+
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
re,
As tu trouver de la doc, quand tu est passé de macro excel4 à vba, sur les correspondances?
non, seulement l'aide de ce forum en posant des questions.
C'est pourquoi dès que j'ai pu, j'ai fait ce fichier (voir lien)
https://www.excel-pratique.com/forum/viewtopic.php?t=3521
inutile de te dire que réécrire tous mes fichiers, çà été galère ! mais d'un autre coté, çà
m'a permis et même obligé de m'y mettre (au VBA)
Bon courage
Claude.
re,
Encore merci Claude, je vient de tester, cela fonctionne, + d'erreur.
Par contre, J'ai créé une petite macro vba de lancement pour cela.
Pour ceux que ça interesse la macro est du type :
Sub nom_macro()
Application.EnableEvents = False
Application.Run "nom_macro_a_lancer"
Application.EnableEvents = True
End sub
Encore merci au forum pour ce coup main.
@+