Cellule coloriée si reactivé

Résolu
eric2027 -  
 eric2027 -
Bonjour, je voudrais que ma cellule se colore en rouge par exemple lorsque je change 2 fois ce qui il y a dedans
par avance merci
Éric



99 réponses

eric2027
 
re

j'ai oublié de préciser que la valeur c42 du 1er classeur doit se retrouver en b8 sur le 2ème classeur

@+ Éric
0
eric2027
 
re

j'ai un souci, quand je copie la macro dans janvier, il me donne comme un message ' erreur d'exécution '1004'
erreur définie par l'application ou par l'objet

je t'envois ce que j'ai fait

Private Sub Workbook_Open()
Dim chemin As String
chemin = "'" & ThisWorkbook.Path & "\\"
Range("C42") = ExecuteExcel4Macro(chemin & "\\Décembre.xls'!c42")
Call StopClign
Call Clign
End Sub

sur le mois de Décembre, j'ai fait

Private Sub Workbook_Open()
Call StopClign
Call Clign
End Sub

j'ai bo faire des tests et des tests mais j'ai toujours ce message

c ou que je me suis trompé

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Sur le fichier décembre, mieux vaux nommer la cellule C42 comme je te l'ai expliqué. Clic sur la cellule C42 Insertion/Nom/Définir nomme la source
ensuite ouvre le fichier deuxième fichier et remplace le code comme je te l'ai également expliqué par celui ci que j'ai actualisé (cellule B8 du 2éme fichier est égale à C42 du premier fichier)


Private Sub Workbook_Open()
Dim chemin As String
chemin = "'" & ThisWorkbook.Path & "\\"
Range("B8") = ExecuteExcel4Macro(chemin & "\\Décembre.xls'!source")
Call StopClign
Call Clign
End Sub
0
eric2027
 
re
j'ai fait ce que tu m'as dit et j'ai le même message, voila ce que j'ai fait

momn code source est " eric"


Private Sub Workbook_Open()
Dim chemin As String
chemin = "'" & ThisWorkbook.Path & "\\"
Range("B8") = ExecuteExcel4Macro(chemin & "\\Décembre.xls'!eric")
Call StopClign
Call Clign
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bizarre, j'ai testé le code à plusieurs reprises sans problème. Je pense que tes ActiveX de Microsoft ne sont pas activés

sans voir ta configuration et éviter les erreurs, on va le faire par formule

remet le code qui va bien comme il était

Private Sub Workbook_Open()
Call StopClign
Call Clign
End Sub


ensuite ouvre les deux fichiers, pointe la cellule C42 et Edition/Copier
pointe la cellule B8 sur le deuxième fichier Edition/Collage Spécial clic sur Avec Liaison et Ok

A chaque ouverture du deuxième fichier mettre à jour les liaisons
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
eric2027
 
re

super ça fonctionne, j'ai une dernière question à te poser "est il possible de mettre en grisé annulé quand tu veux enregistrer sous ou enregistrer, ou encore enregistrer automatiquement dès que l'on fait une manip sur le fichier, c a d que quand on rouvre le fichuer, ce dernier apparaisse avec les nouvelles modifs

merci pour la solution que tu as trouvé

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Désactiver la touche Annuler est dangereux pour les utilisations futures, mais il est possible d'activer un enregistrement automatique suivant critère sous VBA, soit lorsqu'on change des valeurs dans des cellules bien précise ou losque qu'on déplace la cellule active etc ... ou à la fermeture du fichier sans que l'on ai à répondre par oui ou non voulez vous enregistrer les modifictions apportées ...
0
eric2027
 
re

ok pour la 2ème solution

activer un enregistrement automatique suivant critère sous VBA, soit lorsqu'on change des valeurs dans des cellules bien précise ou lorsque qu'on déplace la cellule active etc ... ou à la fermeture du fichier sans que l'on ai à répondre par oui ou non voulez vous enregistrer les modifications apportées ...

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Que veux tu un enregistrement automatique lorsqu'on change les valeurs dans des cellules bien précise lesquelles !!

Ou lorsqu'on se déplace sur la feuille ce qui sera contraignant avec des enregistrement permanant

Ou lorsqu'on ferme le fichier

et sur quel fichier, celui sur lequel nous avons travaillé
0
eric2027
 
sur les cellules b9;b39 c9:c39 d9;d39 e9;e39 f9:f39 g9:g39

sur le fichier lequel nous avons travailler

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Dans le module Visual Basic (clic droit sur un onglet de feuille/Visualiser le code)
double clic sur Thiswokwook ou clic et Entrée

tu trouveras ce code, ajoute la ligne en gras ActiveWorkbook.Save


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Not Intersect([B9:B39,C9:C39,D9:D39,E9:E39,F9:F39,G9:G39], Target) Is Nothing Then
Target.Offset(0, 9) = Target.Offset(0, 9) + 1
If Target.Offset(0, 9) >= 2 Then
Target.Interior.ColorIndex = 38
If Target = "" Then
Target.Offset(0, 9) = ""
Target.Interior.ColorIndex = xlNone
End If
End If
End If
Call Protection_Cellule_Couleur
Call StopClign
Call Clign
ActiveWorkbook.Save
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
eric2027
 
bonjour Mike

cool ça fonctionne par contre sur mes 2 feuilles "décembre, janvier" quand je rentre une donnée en b40 decembre et j'enregistre et que je veux ouvrir janvier, il me demande de mettre ou non a jour, est il possible de ne pas avoir ce message et que ça se mette à jour automatiquement

Éric
0
eric2027
 
salut Mike

un autre petit souci, je voudrais qu'en cellule c42, il y ai un décompte d'heure ne pouvant aller au dessus de 30 et bloquer cette cellule à 30 maxi

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Qu'as tu en C42, une formule de calcul exemple =somme(C9:C40) ou tu saisis les données manuellement
0
eric2027
 
re

en c41, je ne dois pas dépasser 25, si ça dépasse 25 le surplus va en c2 d'ou la formule

=B40:E40-C41 qui me donne la différence en c42

mais en ce c42 je voudrais une formule qui me permette d'aller jusqu'à 30 et bloquer à 30, même si il y a plus

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Il doit y avoir une erreur de fichier ou explique moi, sur mon fichier,
en B40 j'ai cette formule =SOMME(B9:B39)
rien en C40 ni D40, D40 et E40 !

en B41 j'ai =SOMME(B10:B40) (même formule qu'en B40 seulement un décalage d'une cellule dans ce calcul la cellule B40 est additionnée deux fois bizarre !

tu peux remettre un fichier avec tes formules sur un post
0
eric2027
 
re
en effet j'ai essayé d'améliorer mon fichier de base, je oublié de te l'écrire, aussi je t'envoie mon nouveau fichier sur cjoint

eric
0
eric2027
 
re

ah oui pour le 2ème dial, vu que le 1er était résolu, j'ai pensé que je n'avais plus accès à la discution, et comme je ne savais comment te contacté autre que sur un autre post, j'en fait un autre

Éric
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Tu n'as pas collé le lien pour récupérer ton fichier
0
eric2027
 
ça me dit ça

"Impossible d'accéder au presse-papier"
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Il est possible que la mémoire soit saturée, éteint ton ordi et ralume le

ensuite clic sur ce lien
https://www.cjoint.com/

clic sur Parcourir pour sélectionner ton fichier
Clic sur créer le lien
mets en surbrillance le lien bleu généré en haut de la page, clic droit dessus/copier
vas sur le post que tu veux m'envoyer et clic droit coller
0