Salut a tous,
Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un
document.mais quand celui ci est enregistrer après modif. qu'il ne puisse
plus s'agrementer.
En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur
chaque commande les numéro a la suite.
Mais que je puisse revérifier une commande après sauvegarde sans qu'il
agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule
mais comment le faire en automatique.
Merci
Copie ce qui suit dans le ThisWorkbook de ton classeur :
et adapte le nom de la feuille et la cellule retenue pour ce travail '------------------ Private Sub Workbook_Open()
With Worksheets("feuil1") .Range("A1") = .Range("A1") + 1 End With
End Sub '------------------
Salutations!
"Baceri" a écrit dans le message de news: 438f5bb9$0$11112$ Salut a tous, Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un document.mais quand celui ci est enregistrer après modif. qu'il ne puisse plus s'agrementer. En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur chaque commande les numéro a la suite. Mais que je puisse revérifier une commande après sauvegarde sans qu'il agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule mais comment le faire en automatique. Merci
Bonjour Bacen,
Copie ce qui suit dans le ThisWorkbook de ton classeur :
et adapte le nom de la feuille et la cellule retenue pour ce travail
'------------------
Private Sub Workbook_Open()
With Worksheets("feuil1")
.Range("A1") = .Range("A1") + 1
End With
End Sub
'------------------
Salutations!
"Baceri" <baceri@free.fr> a écrit dans le message de news: 438f5bb9$0$11112$626a14ce@news.free.fr...
Salut a tous,
Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un
document.mais quand celui ci est enregistrer après modif. qu'il ne puisse
plus s'agrementer.
En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur
chaque commande les numéro a la suite.
Mais que je puisse revérifier une commande après sauvegarde sans qu'il
agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule
mais comment le faire en automatique.
Merci
Copie ce qui suit dans le ThisWorkbook de ton classeur :
et adapte le nom de la feuille et la cellule retenue pour ce travail '------------------ Private Sub Workbook_Open()
With Worksheets("feuil1") .Range("A1") = .Range("A1") + 1 End With
End Sub '------------------
Salutations!
"Baceri" a écrit dans le message de news: 438f5bb9$0$11112$ Salut a tous, Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un document.mais quand celui ci est enregistrer après modif. qu'il ne puisse plus s'agrementer. En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur chaque commande les numéro a la suite. Mais que je puisse revérifier une commande après sauvegarde sans qu'il agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule mais comment le faire en automatique. Merci
JB
Bonjour,
Voilà un exemple de scénario: Au départ toutes les cellules de la feuille sont déverrouillées. On verrouille A1 dynamiquement après la saisie.
L'incrémentation du compteur peut être automatisée (dans un onglet ou un autre classeur)
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = True If Target.Address = "$A$1" Then rep = InputBox("êtes vous sûr?(o/n)") If UCase(rep) = "O" Then ActiveSheet.Unprotect ("moi") Target.Locked = True Target.Interior.ColorIndex = 36 ActiveSheet.Protect Password:="moi", DrawingObjects:=True, Contents:=True, Scenarios:=True End If End If End Sub
Cordialement JB
Bonjour,
Voilà un exemple de scénario:
Au départ toutes les cellules de la feuille sont déverrouillées.
On verrouille A1 dynamiquement après la saisie.
L'incrémentation du compteur peut être automatisée (dans un onglet
ou un autre classeur)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
If Target.Address = "$A$1" Then
rep = InputBox("êtes vous sûr?(o/n)")
If UCase(rep) = "O" Then
ActiveSheet.Unprotect ("moi")
Target.Locked = True
Target.Interior.ColorIndex = 36
ActiveSheet.Protect Password:="moi", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End If
End If
End Sub
Voilà un exemple de scénario: Au départ toutes les cellules de la feuille sont déverrouillées. On verrouille A1 dynamiquement après la saisie.
L'incrémentation du compteur peut être automatisée (dans un onglet ou un autre classeur)
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = True If Target.Address = "$A$1" Then rep = InputBox("êtes vous sûr?(o/n)") If UCase(rep) = "O" Then ActiveSheet.Unprotect ("moi") Target.Locked = True Target.Interior.ColorIndex = 36 ActiveSheet.Protect Password:="moi", DrawingObjects:=True, Contents:=True, Scenarios:=True End If End If End Sub
Cordialement JB
Baceri
Ne se bloque pas après la sauvegarde, si deux jours après je veux vérifier une chose et que je le recouvre, il me rajoute 1.
Ne se bloque pas après la sauvegarde, si deux jours après je veux vérifier
une chose et que je le recouvre, il me rajoute 1.
Ne se bloque pas après la sauvegarde, si deux jours après je veux vérifier une chose et que je le recouvre, il me rajoute 1.
michdenis
Si tu ne sauvegardes pas, il n'a pas enregistrer la modification !
Comment arriver à faire comprendre à excel la différence entre le fait que le classeur est ouvert pour y travailler ou seulement pour fin de vérification ? As-tu des indices dans ta méthode de travail qui permettent à excel de faire la différence ?
Salutations!
"Baceri" a écrit dans le message de news: 438f687b$0$11119$ Ne se bloque pas après la sauvegarde, si deux jours après je veux vérifier une chose et que je le recouvre, il me rajoute 1.
Si tu ne sauvegardes pas, il n'a pas enregistrer la modification !
Comment arriver à faire comprendre à excel la différence entre le fait que le classeur est ouvert pour y travailler ou seulement
pour fin de vérification ? As-tu des indices dans ta méthode de travail qui permettent à excel de faire la différence ?
Salutations!
"Baceri" <baceri@free.fr> a écrit dans le message de news: 438f687b$0$11119$626a14ce@news.free.fr...
Ne se bloque pas après la sauvegarde, si deux jours après je veux vérifier
une chose et que je le recouvre, il me rajoute 1.
Si tu ne sauvegardes pas, il n'a pas enregistrer la modification !
Comment arriver à faire comprendre à excel la différence entre le fait que le classeur est ouvert pour y travailler ou seulement pour fin de vérification ? As-tu des indices dans ta méthode de travail qui permettent à excel de faire la différence ?
Salutations!
"Baceri" a écrit dans le message de news: 438f687b$0$11119$ Ne se bloque pas après la sauvegarde, si deux jours après je veux vérifier une chose et que je le recouvre, il me rajoute 1.
Baceri
Dois je le mettre dans le ThisWorkbook . Si oui je l'ai fait mais ne m'augmente pas A1 de 1 a l'ouverture
Dois je le mettre dans le ThisWorkbook .
Si oui je l'ai fait mais ne m'augmente pas A1 de 1 a l'ouverture
Dois je le mettre dans le ThisWorkbook . Si oui je l'ai fait mais ne m'augmente pas A1 de 1 a l'ouverture
JLuc
*Bonjour JB*, Une question qui n'a rien a voir avec ce fil, enfin peut etre un petit peu :') Qu'elle est la differencr entre : Worksheet_Change() Worksheet_SelectionChange() ??? :-? Merci d'avance pour ta reponse
Bonjour,
Voilà un exemple de scénario: Au départ toutes les cellules de la feuille sont déverrouillées. On verrouille A1 dynamiquement après la saisie.
L'incrémentation du compteur peut être automatisée (dans un onglet ou un autre classeur)
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = True If Target.Address = "$A$1" Then rep = InputBox("êtes vous sûr?(o/n)") If UCase(rep) = "O" Then ActiveSheet.Unprotect ("moi") Target.Locked = True Target.Interior.ColorIndex = 36 ActiveSheet.Protect Password:="moi", DrawingObjects:=True, Contents:=True, Scenarios:=True End If End If End Sub
Cordialement JB
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour JB*,
Une question qui n'a rien a voir avec ce fil, enfin peut etre un petit
peu :')
Qu'elle est la differencr entre :
Worksheet_Change()
Worksheet_SelectionChange()
??? :-?
Merci d'avance pour ta reponse
Bonjour,
Voilà un exemple de scénario:
Au départ toutes les cellules de la feuille sont déverrouillées.
On verrouille A1 dynamiquement après la saisie.
L'incrémentation du compteur peut être automatisée (dans un onglet
ou un autre classeur)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
If Target.Address = "$A$1" Then
rep = InputBox("êtes vous sûr?(o/n)")
If UCase(rep) = "O" Then
ActiveSheet.Unprotect ("moi")
Target.Locked = True
Target.Interior.ColorIndex = 36
ActiveSheet.Protect Password:="moi", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End If
End If
End Sub
Cordialement JB
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour JB*, Une question qui n'a rien a voir avec ce fil, enfin peut etre un petit peu :') Qu'elle est la differencr entre : Worksheet_Change() Worksheet_SelectionChange() ??? :-? Merci d'avance pour ta reponse
Bonjour,
Voilà un exemple de scénario: Au départ toutes les cellules de la feuille sont déverrouillées. On verrouille A1 dynamiquement après la saisie.
L'incrémentation du compteur peut être automatisée (dans un onglet ou un autre classeur)
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = True If Target.Address = "$A$1" Then rep = InputBox("êtes vous sûr?(o/n)") If UCase(rep) = "O" Then ActiveSheet.Unprotect ("moi") Target.Locked = True Target.Interior.ColorIndex = 36 ActiveSheet.Protect Password:="moi", DrawingObjects:=True, Contents:=True, Scenarios:=True End If End If End Sub
Cordialement JB
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Marie
Bonjour, Je pense qu'il faudrait transformer le document en modèle, et incrémenter le numéro seulement si le nom du document est différent de celui du modèle.
Private Sub Workbook_Open() If ActiveWorkbook.Name <> "monmodèle.xls" Then Worksheets("feuil1").Range("A1") = Range("A1") + 1 End Sub
"Baceri" a écrit dans le message de news: 438f5bb9$0$11112$
Salut a tous, Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un document.mais quand celui ci est enregistrer après modif. qu'il ne puisse plus s'agrementer. En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur chaque commande les numéro a la suite. Mais que je puisse revérifier une commande après sauvegarde sans qu'il agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule mais comment le faire en automatique. Merci
Bonjour,
Je pense qu'il faudrait transformer le document en modèle, et incrémenter le
numéro seulement si le nom du document est différent de celui du modèle.
Private Sub Workbook_Open()
If ActiveWorkbook.Name <> "monmodèle.xls" Then
Worksheets("feuil1").Range("A1") = Range("A1") + 1
End Sub
"Baceri" <baceri@free.fr> a écrit dans le message de news:
438f5bb9$0$11112$626a14ce@news.free.fr...
Salut a tous,
Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un
document.mais quand celui ci est enregistrer après modif. qu'il ne puisse
plus s'agrementer.
En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur
chaque commande les numéro a la suite.
Mais que je puisse revérifier une commande après sauvegarde sans qu'il
agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule
mais comment le faire en automatique.
Merci
Bonjour, Je pense qu'il faudrait transformer le document en modèle, et incrémenter le numéro seulement si le nom du document est différent de celui du modèle.
Private Sub Workbook_Open() If ActiveWorkbook.Name <> "monmodèle.xls" Then Worksheets("feuil1").Range("A1") = Range("A1") + 1 End Sub
"Baceri" a écrit dans le message de news: 438f5bb9$0$11112$
Salut a tous, Voila mon pb, comment agrémenter une cellule de 1 a chaque ouverture d'un document.mais quand celui ci est enregistrer après modif. qu'il ne puisse plus s'agrementer. En fait c'est pour faire des commandes de matériel, pour qu'il y ai sur chaque commande les numéro a la suite. Mais que je puisse revérifier une commande après sauvegarde sans qu'il agrémente une autre fois. Je pense qu'il faut le mettre en lecture seule mais comment le faire en automatique. Merci
JB
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de sélection de cellule (Cliquer sur une cellule) -WorkSheet_Change se produit lorsque l'on modifie le contenu d'une cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux événements extérieurs (saisie par ex) mais également aux modifs de cellules par programme. Il faut donc désactiver les évenements pendant leur traitement avec Application.EnableEventsúlse et les réactiver en fin de traitement avec Application.EnableEvents=True. Si on veut être sensible uniquement à la saisie (pas aux effacements, aux modifs de couleur,,,), il existe ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui permet de déclencher une procédure à chaque fois que le contenu d'une cellule est modifié.
Cordialement JB
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de
sélection de cellule (Cliquer sur une cellule)
-WorkSheet_Change se produit lorsque l'on modifie le contenu d'une
cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux
événements extérieurs (saisie par ex) mais également aux modifs de
cellules par programme.
Il faut donc désactiver les évenements pendant leur traitement avec
Application.EnableEvents=false et les réactiver en fin de traitement
avec Application.EnableEvents=True.
Si on veut être sensible uniquement à la saisie (pas aux effacements,
aux modifs de couleur,,,), il existe
ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui
permet de déclencher une procédure à chaque fois que le contenu
d'une cellule est modifié.
-WorkSheet_Selection_Change se produit à chaque changement de sélection de cellule (Cliquer sur une cellule) -WorkSheet_Change se produit lorsque l'on modifie le contenu d'une cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux événements extérieurs (saisie par ex) mais également aux modifs de cellules par programme. Il faut donc désactiver les évenements pendant leur traitement avec Application.EnableEventsúlse et les réactiver en fin de traitement avec Application.EnableEvents=True. Si on veut être sensible uniquement à la saisie (pas aux effacements, aux modifs de couleur,,,), il existe ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui permet de déclencher une procédure à chaque fois que le contenu d'une cellule est modifié.
Cordialement JB
JLuc
Merci de toutes ces précisions JB avait soumis l'idée :
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de sélection de cellule (Cliquer sur une cellule) -WorkSheet_Change se produit lorsque l'on modifie le contenu d'une cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux événements extérieurs (saisie par ex) mais également aux modifs de cellules par programme. Il faut donc désactiver les évenements pendant leur traitement avec Application.EnableEventsúlse et les réactiver en fin de traitement avec Application.EnableEvents=True. Si on veut être sensible uniquement à la saisie (pas aux effacements, aux modifs de couleur,,,), il existe ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui permet de déclencher une procédure à chaque fois que le contenu d'une cellule est modifié.
Cordialement JB
Merci de toutes ces précisions
JB avait soumis l'idée :
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de
sélection de cellule (Cliquer sur une cellule)
-WorkSheet_Change se produit lorsque l'on modifie le contenu d'une
cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux
événements extérieurs (saisie par ex) mais également aux modifs de
cellules par programme.
Il faut donc désactiver les évenements pendant leur traitement avec
Application.EnableEventsúlse et les réactiver en fin de traitement
avec Application.EnableEvents=True.
Si on veut être sensible uniquement à la saisie (pas aux effacements,
aux modifs de couleur,,,), il existe
ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui
permet de déclencher une procédure à chaque fois que le contenu
d'une cellule est modifié.
Merci de toutes ces précisions JB avait soumis l'idée :
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de sélection de cellule (Cliquer sur une cellule) -WorkSheet_Change se produit lorsque l'on modifie le contenu d'une cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux événements extérieurs (saisie par ex) mais également aux modifs de cellules par programme. Il faut donc désactiver les évenements pendant leur traitement avec Application.EnableEventsúlse et les réactiver en fin de traitement avec Application.EnableEvents=True. Si on veut être sensible uniquement à la saisie (pas aux effacements, aux modifs de couleur,,,), il existe ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui permet de déclencher une procédure à chaque fois que le contenu d'une cellule est modifié.
Cordialement JB
anonymousA
Bonjour,
m'excuse de m'immiscer, mais WorkSheet_Change ne se produit pas lorsque l'on modifie la couleur d'une cellule, du moins jusqu'à Excel 2000.
A+
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de sélection de cellule (Cliquer sur une cellule) -WorkSheet_Change se produit lorsque l'on modifie le contenu d'une cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux événements extérieurs (saisie par ex) mais également aux modifs de cellules par programme. Il faut donc désactiver les évenements pendant leur traitement avec Application.EnableEventsúlse et les réactiver en fin de traitement avec Application.EnableEvents=True. Si on veut être sensible uniquement à la saisie (pas aux effacements, aux modifs de couleur,,,), il existe ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui permet de déclencher une procédure à chaque fois que le contenu d'une cellule est modifié.
Cordialement JB
Bonjour,
m'excuse de m'immiscer, mais WorkSheet_Change ne se produit pas lorsque
l'on modifie la couleur d'une cellule, du moins jusqu'à Excel 2000.
A+
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de
sélection de cellule (Cliquer sur une cellule)
-WorkSheet_Change se produit lorsque l'on modifie le contenu d'une
cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux
événements extérieurs (saisie par ex) mais également aux modifs de
cellules par programme.
Il faut donc désactiver les évenements pendant leur traitement avec
Application.EnableEventsúlse et les réactiver en fin de traitement
avec Application.EnableEvents=True.
Si on veut être sensible uniquement à la saisie (pas aux effacements,
aux modifs de couleur,,,), il existe
ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui
permet de déclencher une procédure à chaque fois que le contenu
d'une cellule est modifié.
m'excuse de m'immiscer, mais WorkSheet_Change ne se produit pas lorsque l'on modifie la couleur d'une cellule, du moins jusqu'à Excel 2000.
A+
Bonjour Jluc,
-WorkSheet_Selection_Change se produit à chaque changement de sélection de cellule (Cliquer sur une cellule) -WorkSheet_Change se produit lorsque l'on modifie le contenu d'une cellule (saisie,effacement) ou sa couleur.
WorkSheet_Change() pose qq problèmes. Il réagit non seulement aux événements extérieurs (saisie par ex) mais également aux modifs de cellules par programme. Il faut donc désactiver les évenements pendant leur traitement avec Application.EnableEventsúlse et les réactiver en fin de traitement avec Application.EnableEvents=True. Si on veut être sensible uniquement à la saisie (pas aux effacements, aux modifs de couleur,,,), il existe ActiveWorkbook.Worksheets("feuil1").OnEntry = "NomProcédure" qui permet de déclencher une procédure à chaque fois que le contenu d'une cellule est modifié.