n'ayant pas eu de réponse je me permet d'insister
Si ce n'est pas possible par macro merci de me le dire
ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients)
Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa
commande , disons en Mai aussi , je me positionne sur Fx , je clique un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx
s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se
remplissent de zéros. C'est faisable ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonsoir Gérard, En complément de la réponse de Clément, saches que le problème que tu poses, non dénué d'intérêt, n'est pas forcément simple à résoudre, même pour nos immenses talents ! ;o))
Pour ma part, j'en suis là :
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If activecell.Column > 2 And activecell.Row > 1 And activecell.Value <> "" _ And activecell.Offset(0, -1).Value = "" Then c = activecell.Row For i = activecell.Offset(0, -1).Column To 2 Step -1 Cells(c, i).Value = 0 Next i Else: Exit Sub End If End Sub
c'est très imparfait, puisque cela nécessite d'avoir décoché "déplacer la sélection" dans les options et que cela écrase les précédentes entrées si il y a une cellule vide entre la saisie et la précédente.
Si cela peut te servir de base, tu m'en verras heureux. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "Gérard" a écrit dans le message de news:
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister Si ce n'est pas possible par macro merci de me le dire ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients) Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa commande , disons en Mai aussi , je me positionne sur Fx , je clique un bouton perso dans la barre d'outils et ainsi , dans la cellule Fx s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se remplissent de zéros. C'est faisable ?
Merci par avance
-- Gérard
Bonsoir Gérard,
En complément de la réponse de Clément, saches que le problème que tu poses, non dénué d'intérêt, n'est
pas forcément simple à résoudre, même pour nos immenses talents ! ;o))
Pour ma part, j'en suis là :
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If activecell.Column > 2 And activecell.Row > 1 And activecell.Value <> "" _
And activecell.Offset(0, -1).Value = "" Then
c = activecell.Row
For i = activecell.Offset(0, -1).Column To 2 Step -1
Cells(c, i).Value = 0
Next i
Else: Exit Sub
End If
End Sub
c'est très imparfait, puisque cela nécessite d'avoir décoché "déplacer la sélection" dans les options et
que cela écrase les précédentes entrées si il y a une cellule vide entre la saisie et la précédente.
Si cela peut te servir de base, tu m'en verras heureux.
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"Gérard" <Gerard.beguin@laposte.net> a écrit dans le message de
news:uTMUBUhUDHA.1832@TK2MSFTNGP09.phx.gbl...
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister
Si ce n'est pas possible par macro merci de me le dire
ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients)
Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa
commande , disons en Mai aussi , je me positionne sur Fx , je clique un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx
s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se
remplissent de zéros. C'est faisable ?
Bonsoir Gérard, En complément de la réponse de Clément, saches que le problème que tu poses, non dénué d'intérêt, n'est pas forcément simple à résoudre, même pour nos immenses talents ! ;o))
Pour ma part, j'en suis là :
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If activecell.Column > 2 And activecell.Row > 1 And activecell.Value <> "" _ And activecell.Offset(0, -1).Value = "" Then c = activecell.Row For i = activecell.Offset(0, -1).Column To 2 Step -1 Cells(c, i).Value = 0 Next i Else: Exit Sub End If End Sub
c'est très imparfait, puisque cela nécessite d'avoir décoché "déplacer la sélection" dans les options et que cela écrase les précédentes entrées si il y a une cellule vide entre la saisie et la précédente.
Si cela peut te servir de base, tu m'en verras heureux. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "Gérard" a écrit dans le message de news:
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister Si ce n'est pas possible par macro merci de me le dire ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients) Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa commande , disons en Mai aussi , je me positionne sur Fx , je clique un bouton perso dans la barre d'outils et ainsi , dans la cellule Fx s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se remplissent de zéros. C'est faisable ?
Merci par avance
-- Gérard
Gérard
Tu payes comment après ?
ICI CE SONT BÉNÉVOLES, QUI PAIENT LEUR TEMPS DE CONNEXION, ET QUI RÉPONDENT CE QU'ILS VEULENT, À QUI ILS LE VEULENT, QUAND ILS LE PEUVENT OU QUAND ILS LE VEULENT.CES BÉNÉVOLES DOIVENT REMPLIR LEURS OBLIGATIONS DE TRAVAIL AVANT DE RÉPONDRE AUX HARCELEURS.
BAISSE LE VOLUME TU N'ES PAS OBLIGE D'ABOYER !!!!!!!!
Ma remarque ne se voulait absolument pas désagréable C'était pour le cas ou elle n'aurait pas été lue. J'ai dû mal m'exprimer
J'ai déjà eu l'occasion de poser des questions auxquelles j'ai eu des réponses par AV , Michdenis , ChrisV , PierreVG ou d'autres personnes compétentes. Et , bien entendu , je respecte et apprécie le temps qu'ils m'ont consacré. Il m'est arrivé également d'apporter , dans ce forum ou dans d'autres , ma contribution.
D'autre part cette question était reformulée c'est pour cela que je l'ai repostée.
Si elle t'a heurté il te suffisait de l'ignorer.
Respectueusement (ça , ça s'adresse au Most Valuable Professional) et cordialement.
-- Gérard
Tu payes comment après ?
ICI CE SONT BÉNÉVOLES, QUI PAIENT LEUR TEMPS DE CONNEXION, ET QUI
RÉPONDENT CE QU'ILS VEULENT, À QUI ILS LE VEULENT, QUAND ILS LE
PEUVENT OU QUAND ILS LE VEULENT.CES BÉNÉVOLES DOIVENT REMPLIR LEURS
OBLIGATIONS DE TRAVAIL AVANT DE RÉPONDRE AUX HARCELEURS.
BAISSE LE VOLUME
TU N'ES PAS OBLIGE D'ABOYER !!!!!!!!
Ma remarque ne se voulait absolument pas désagréable
C'était pour le cas ou elle n'aurait pas été lue.
J'ai dû mal m'exprimer
J'ai déjà eu l'occasion de poser des questions auxquelles j'ai eu des
réponses par AV , Michdenis , ChrisV , PierreVG ou d'autres personnes
compétentes. Et , bien entendu , je respecte et apprécie le temps qu'ils
m'ont consacré. Il m'est arrivé également d'apporter , dans ce forum ou
dans d'autres , ma contribution.
D'autre part cette question était reformulée c'est pour cela que je l'ai
repostée.
Si elle t'a heurté il te suffisait de l'ignorer.
Respectueusement (ça , ça s'adresse au Most Valuable Professional)
et cordialement.
ICI CE SONT BÉNÉVOLES, QUI PAIENT LEUR TEMPS DE CONNEXION, ET QUI RÉPONDENT CE QU'ILS VEULENT, À QUI ILS LE VEULENT, QUAND ILS LE PEUVENT OU QUAND ILS LE VEULENT.CES BÉNÉVOLES DOIVENT REMPLIR LEURS OBLIGATIONS DE TRAVAIL AVANT DE RÉPONDRE AUX HARCELEURS.
BAISSE LE VOLUME TU N'ES PAS OBLIGE D'ABOYER !!!!!!!!
Ma remarque ne se voulait absolument pas désagréable C'était pour le cas ou elle n'aurait pas été lue. J'ai dû mal m'exprimer
J'ai déjà eu l'occasion de poser des questions auxquelles j'ai eu des réponses par AV , Michdenis , ChrisV , PierreVG ou d'autres personnes compétentes. Et , bien entendu , je respecte et apprécie le temps qu'ils m'ont consacré. Il m'est arrivé également d'apporter , dans ce forum ou dans d'autres , ma contribution.
D'autre part cette question était reformulée c'est pour cela que je l'ai repostée.
Si elle t'a heurté il te suffisait de l'ignorer.
Respectueusement (ça , ça s'adresse au Most Valuable Professional) et cordialement.
-- Gérard
Gérard
Bonsoir Philippe,
En fait , je cherche aussi dans les offset mais je rame.... ;o) Je vais d'abord essayer la proposition de Daniel.
Merci Cordialement.
-- Gérard
"Philippe.R" a écrit dans le message news:
Bonsoir Gérard, En complément de la réponse de Clément, saches que le problème que tu poses, non dénué d'intérêt, n'est
pas forcément simple à résoudre, même pour nos immenses talents ! ;o))
Pour ma part, j'en suis là :
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If activecell.Column > 2 And activecell.Row > 1 And activecell.Value <> "" _
And activecell.Offset(0, -1).Value = "" Then c = activecell.Row For i = activecell.Offset(0, -1).Column To 2 Step -1 Cells(c, i).Value = 0 Next i Else: Exit Sub End If End Sub
c'est très imparfait, puisque cela nécessite d'avoir décoché "déplacer la sélection" dans les options et
que cela écrase les précédentes entrées si il y a une cellule vide entre la saisie et la précédente.
Si cela peut te servir de base, tu m'en verras heureux. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "Gérard" a écrit dans le message de news:
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister Si ce n'est pas possible par macro merci de me le dire ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients) Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa commande , disons en Mai aussi , je me positionne sur Fx , je clique un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se remplissent de zéros. C'est faisable ?
Merci par avance
-- Gérard
Bonsoir Philippe,
En fait , je cherche aussi dans les offset
mais je rame.... ;o)
Je vais d'abord essayer la proposition de Daniel.
Merci
Cordialement.
--
Gérard
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message news:
e82cL6iUDHA.424@TK2MSFTNGP11.phx.gbl...
Bonsoir Gérard,
En complément de la réponse de Clément, saches que le problème que tu
poses, non dénué d'intérêt, n'est
pas forcément simple à résoudre, même pour nos immenses talents ! ;o))
Pour ma part, j'en suis là :
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If activecell.Column > 2 And activecell.Row > 1 And activecell.Value <>
"" _
And activecell.Offset(0, -1).Value = "" Then
c = activecell.Row
For i = activecell.Offset(0, -1).Column To 2 Step -1
Cells(c, i).Value = 0
Next i
Else: Exit Sub
End If
End Sub
c'est très imparfait, puisque cela nécessite d'avoir décoché "déplacer
la sélection" dans les options et
que cela écrase les précédentes entrées si il y a une cellule vide
entre la saisie et la précédente.
Si cela peut te servir de base, tu m'en verras heureux.
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"Gérard" <Gerard.beguin@laposte.net> a écrit dans le message de
news:uTMUBUhUDHA.1832@TK2MSFTNGP09.phx.gbl...
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister
Si ce n'est pas possible par macro merci de me le dire
ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients)
Un client effectue un premier paiement en Mai (soit Fx) et
j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent
de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa
commande , disons en Mai aussi , je me positionne sur Fx , je clique
un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx
s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se
remplissent de zéros. C'est faisable ?
En fait , je cherche aussi dans les offset mais je rame.... ;o) Je vais d'abord essayer la proposition de Daniel.
Merci Cordialement.
-- Gérard
"Philippe.R" a écrit dans le message news:
Bonsoir Gérard, En complément de la réponse de Clément, saches que le problème que tu poses, non dénué d'intérêt, n'est
pas forcément simple à résoudre, même pour nos immenses talents ! ;o))
Pour ma part, j'en suis là :
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If activecell.Column > 2 And activecell.Row > 1 And activecell.Value <> "" _
And activecell.Offset(0, -1).Value = "" Then c = activecell.Row For i = activecell.Offset(0, -1).Column To 2 Step -1 Cells(c, i).Value = 0 Next i Else: Exit Sub End If End Sub
c'est très imparfait, puisque cela nécessite d'avoir décoché "déplacer la sélection" dans les options et
que cela écrase les précédentes entrées si il y a une cellule vide entre la saisie et la précédente.
Si cela peut te servir de base, tu m'en verras heureux. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "Gérard" a écrit dans le message de news:
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister Si ce n'est pas possible par macro merci de me le dire ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients) Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa commande , disons en Mai aussi , je me positionne sur Fx , je clique un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se remplissent de zéros. C'est faisable ?
Merci par avance
-- Gérard
Gérard
Bonsoir Daniel,
OK , je vais tester ta proposition Merci beaucoup
Cordialement
-- Gérard
"Daniel.M" a écrit dans le message news:
Salut Gérard,
Nomme tes 12 colonnes par X lignes, la plage Saisie (Menu Insère/Nom/Définir)
Pour ton 1er problème, la procédure événementielle suivante (dans le code de
la feuille)
Private Sub Worksheet_Change(ByVal Target As Range) Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer Dim Plg As Range
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then LaLigne = Target(1, 1).Row LaColonne = Target(1, 1).Column DebutColonne = Range("Saisie").Column If LaColonne > DebutColonne Then Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne, LaColonne - 1)) Application.EnableEvents = False If Plg.Columns.Count = 1 Then If Plg.Value = "" Then Plg.Value = 0 Else On Error Resume Next Set Plg = Plg.SpecialCells(xlCellTypeBlanks) On Error GoTo 0
If Not Plg Is Nothing Then Plg.Value = 0 End If End If Application.EnableEvents = True End If End If Set Plg = Nothing End Sub
Pour ton 2ième problème, la procédure suivante (dans un module standard):
Sub RetourCmd() Dim Plg As Range
Set Plg = Intersect(ActiveCell.EntireRow, Range("Saisie"))
If Not Plg Is Nothing Then Application.EnableEvents = False Plg.Value = 0 ActiveCell.Value = "R" Application.EnableEvents = True End If Set Plg = Nothing End Sub
Salutations,
Daniel M.
"Gérard" wrote in message news:
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister Si ce n'est pas possible par macro merci de me le dire ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients) Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa commande , disons en Mai aussi , je me positionne sur Fx , je clique un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se remplissent de zéros. C'est faisable ?
Merci par avance
-- Gérard
Bonsoir Daniel,
OK , je vais tester ta proposition
Merci beaucoup
Cordialement
--
Gérard
"Daniel.M" <daniel.maher@bigfoot.com> a écrit dans le message news:
ewu1dXqUDHA.2748@tk2msftngp13.phx.gbl...
Salut Gérard,
Nomme tes 12 colonnes par X lignes, la plage Saisie (Menu
Insère/Nom/Définir)
Pour ton 1er problème, la procédure événementielle suivante (dans le
code de
la feuille)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer
Dim Plg As Range
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then
LaLigne = Target(1, 1).Row
LaColonne = Target(1, 1).Column
DebutColonne = Range("Saisie").Column
If LaColonne > DebutColonne Then
Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne,
LaColonne - 1))
Application.EnableEvents = False
If Plg.Columns.Count = 1 Then
If Plg.Value = "" Then Plg.Value = 0
Else
On Error Resume Next
Set Plg = Plg.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not Plg Is Nothing Then
Plg.Value = 0
End If
End If
Application.EnableEvents = True
End If
End If
Set Plg = Nothing
End Sub
Pour ton 2ième problème, la procédure suivante (dans un module
standard):
Sub RetourCmd()
Dim Plg As Range
Set Plg = Intersect(ActiveCell.EntireRow, Range("Saisie"))
If Not Plg Is Nothing Then
Application.EnableEvents = False
Plg.Value = 0
ActiveCell.Value = "R"
Application.EnableEvents = True
End If
Set Plg = Nothing
End Sub
Salutations,
Daniel M.
"Gérard" <Gerard.beguin@laposte.net> wrote in message
news:uTMUBUhUDHA.1832@TK2MSFTNGP09.phx.gbl...
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister
Si ce n'est pas possible par macro merci de me le dire
ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients)
Un client effectue un premier paiement en Mai (soit Fx) et
j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent
de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa
commande , disons en Mai aussi , je me positionne sur Fx , je clique
un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx
s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se
remplissent de zéros. C'est faisable ?
Nomme tes 12 colonnes par X lignes, la plage Saisie (Menu Insère/Nom/Définir)
Pour ton 1er problème, la procédure événementielle suivante (dans le code de
la feuille)
Private Sub Worksheet_Change(ByVal Target As Range) Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer Dim Plg As Range
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then LaLigne = Target(1, 1).Row LaColonne = Target(1, 1).Column DebutColonne = Range("Saisie").Column If LaColonne > DebutColonne Then Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne, LaColonne - 1)) Application.EnableEvents = False If Plg.Columns.Count = 1 Then If Plg.Value = "" Then Plg.Value = 0 Else On Error Resume Next Set Plg = Plg.SpecialCells(xlCellTypeBlanks) On Error GoTo 0
If Not Plg Is Nothing Then Plg.Value = 0 End If End If Application.EnableEvents = True End If End If Set Plg = Nothing End Sub
Pour ton 2ième problème, la procédure suivante (dans un module standard):
Sub RetourCmd() Dim Plg As Range
Set Plg = Intersect(ActiveCell.EntireRow, Range("Saisie"))
If Not Plg Is Nothing Then Application.EnableEvents = False Plg.Value = 0 ActiveCell.Value = "R" Application.EnableEvents = True End If Set Plg = Nothing End Sub
Salutations,
Daniel M.
"Gérard" wrote in message news:
Bonsoir,
n'ayant pas eu de réponse je me permet d'insister Si ce n'est pas possible par macro merci de me le dire ou bien ne suis je pas clair ?
Une zone de 13 colonnes (client + 12 mois) sur X lignes ( X clients) Un client effectue un premier paiement en Mai (soit Fx) et j'aimerais
que les cellules précédentes (Bx à Ex..qui sont vides) se remplissent de
zéros lorsque j'ai saisi la cellule Fx.
Par ailleurs si au lieu d'effectuer un paiement le client retourne sa commande , disons en Mai aussi , je me positionne sur Fx , je clique un
bouton perso dans la barre d'outils et ainsi , dans la cellule Fx s'inscrit un R et les cellulles alentours (Bx à Ex ET Gx à Mx) se remplissent de zéros. C'est faisable ?
Merci par avance
-- Gérard
Gérard
C'était pour le cas ou elle n'aurait pas été lue.
J'vas croire ça, moi; 3 fois en 2 jours.
Bah , tu as décidé d'être désagréable , soit.
3 fois parce que ... la première fois je n'ai pas été compris la deuxième , j'ai reformulé la question mais , celle ci étant en réponse dans un fil , je ne suis pas persuadé que les gens lisent les fils entièrement si la question d'origine ne les a pas interessé. D'ou la troisième. Je ne me justifierai plus.
Ta virulence était inadaptée et malvenue.
Sur ce , bonne nuit.
Gérard
C'était pour le cas ou elle n'aurait pas été lue.
J'vas croire ça, moi; 3 fois en 2 jours.
Bah , tu as décidé d'être désagréable , soit.
3 fois parce que ...
la première fois je n'ai pas été compris
la deuxième , j'ai reformulé la question mais , celle ci étant en réponse
dans un fil , je ne suis pas persuadé que les gens lisent les fils
entièrement si la question d'origine ne les a pas interessé.
D'ou la troisième.
Je ne me justifierai plus.
3 fois parce que ... la première fois je n'ai pas été compris la deuxième , j'ai reformulé la question mais , celle ci étant en réponse dans un fil , je ne suis pas persuadé que les gens lisent les fils entièrement si la question d'origine ne les a pas interessé. D'ou la troisième. Je ne me justifierai plus.
Ta virulence était inadaptée et malvenue.
Sur ce , bonne nuit.
Gérard
Gérard
En fait je viens de me rendre compte que la deuxième fois n'était pas dans le fil enfin bref..
-- Gérard
"Gérard" a écrit dans le message news:
C'était pour le cas ou elle n'aurait pas été lue.
J'vas croire ça, moi; 3 fois en 2 jours.
Bah , tu as décidé d'être désagréable , soit.
3 fois parce que ... la première fois je n'ai pas été compris la deuxième , j'ai reformulé la question mais , celle ci étant en réponse
dans un fil , je ne suis pas persuadé que les gens lisent les fils entièrement si la question d'origine ne les a pas interessé. D'ou la troisième. Je ne me justifierai plus.
Ta virulence était inadaptée et malvenue.
Sur ce , bonne nuit.
Gérard
En fait je viens de me rendre compte que la deuxième fois n'était pas
dans le fil
enfin bref..
--
Gérard
"Gérard" <gerard.beguin@laposte.net> a écrit dans le message news:
eMkPPEwUDHA.3312@tk2msftngp13.phx.gbl...
C'était pour le cas ou elle n'aurait pas été lue.
J'vas croire ça, moi; 3 fois en 2 jours.
Bah , tu as décidé d'être désagréable , soit.
3 fois parce que ...
la première fois je n'ai pas été compris
la deuxième , j'ai reformulé la question mais , celle ci étant en
réponse
dans un fil , je ne suis pas persuadé que les gens lisent les fils
entièrement si la question d'origine ne les a pas interessé.
D'ou la troisième.
Je ne me justifierai plus.
En fait je viens de me rendre compte que la deuxième fois n'était pas dans le fil enfin bref..
-- Gérard
"Gérard" a écrit dans le message news:
C'était pour le cas ou elle n'aurait pas été lue.
J'vas croire ça, moi; 3 fois en 2 jours.
Bah , tu as décidé d'être désagréable , soit.
3 fois parce que ... la première fois je n'ai pas été compris la deuxième , j'ai reformulé la question mais , celle ci étant en réponse
dans un fil , je ne suis pas persuadé que les gens lisent les fils entièrement si la question d'origine ne les a pas interessé. D'ou la troisième. Je ne me justifierai plus.
Ta virulence était inadaptée et malvenue.
Sur ce , bonne nuit.
Gérard
Gérard
Bonjour Daniel,
ça y est, ça marche !
Comme tu peux le voir ci-aprés , j'ai modifié le code avec une boucle for next sinon ça remplissait toutes les cellules (même les "non-vides") de zéros. C 'est lent et pas trés "élégant" comme code mais ça fonctionne. Merci beaucoup.
Private Sub Worksheet_Change(ByVal Target As Range) Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer Dim Plg As Range Dim CellVide As Range Dim Cellules As Integer, Nombre As Integer
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then LaLigne = Target(1, 1).Row LaColonne = Target(1, 1).Column DebutColonne = Range("Saisie").Column If LaColonne > DebutColonne Then Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne, LaColonne - 1)) Application.EnableEvents = False If Plg.Columns.Count = 1 Then If Plg.Value = "" Then Plg.Value = 0 Else
Cellules = Plg.Columns.Count For Nombre = 1 To Cellules Set CellVide = Cells(LaLigne, LaColonne - Nombre) If CellVide = "" Then CellVide = 0 Next
End If Application.EnableEvents = True End If End If Set Plg = Nothing End Sub
"Daniel.M" a écrit dans le message de news:
Salut Gérard,
Nomme tes 12 colonnes par X lignes, la plage Saisie (Menu Insère/Nom/Définir)
Pour ton 1er problème, la procédure événementielle suivante (dans le code de
la feuille)
Private Sub Worksheet_Change(ByVal Target As Range) Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer Dim Plg As Range
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then LaLigne = Target(1, 1).Row LaColonne = Target(1, 1).Column DebutColonne = Range("Saisie").Column If LaColonne > DebutColonne Then Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne, LaColonne - 1)) Application.EnableEvents = False If Plg.Columns.Count = 1 Then If Plg.Value = "" Then Plg.Value = 0 Else On Error Resume Next Set Plg = Plg.SpecialCells(xlCellTypeBlanks) On Error GoTo 0
If Not Plg Is Nothing Then Plg.Value = 0 End If End If Application.EnableEvents = True End If End If Set Plg = Nothing End Sub
Pour ton 2ième problème, la procédure suivante (dans un module standard):
Sub RetourCmd() Dim Plg As Range
Set Plg = Intersect(ActiveCell.EntireRow, Range("Saisie"))
If Not Plg Is Nothing Then Application.EnableEvents = False Plg.Value = 0 ActiveCell.Value = "R" Application.EnableEvents = True End If Set Plg = Nothing End Sub
Salutations,
Daniel M.
Bonjour Daniel,
ça y est, ça marche !
Comme tu peux le voir ci-aprés , j'ai modifié le code avec une boucle for
next sinon ça remplissait toutes les cellules (même les "non-vides") de
zéros.
C 'est lent et pas trés "élégant" comme code mais ça fonctionne.
Merci beaucoup.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer
Dim Plg As Range
Dim CellVide As Range
Dim Cellules As Integer, Nombre As Integer
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then
LaLigne = Target(1, 1).Row
LaColonne = Target(1, 1).Column
DebutColonne = Range("Saisie").Column
If LaColonne > DebutColonne Then
Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne,
LaColonne - 1))
Application.EnableEvents = False
If Plg.Columns.Count = 1 Then
If Plg.Value = "" Then Plg.Value = 0
Else
Cellules = Plg.Columns.Count
For Nombre = 1 To Cellules
Set CellVide = Cells(LaLigne, LaColonne - Nombre)
If CellVide = "" Then CellVide = 0
Next
End If
Application.EnableEvents = True
End If
End If
Set Plg = Nothing
End Sub
"Daniel.M" <daniel.maher@bigfoot.com> a écrit dans le message de news:
ewu1dXqUDHA.2748@tk2msftngp13.phx.gbl...
Salut Gérard,
Nomme tes 12 colonnes par X lignes, la plage Saisie (Menu
Insère/Nom/Définir)
Pour ton 1er problème, la procédure événementielle suivante (dans le code
de
la feuille)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer
Dim Plg As Range
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then
LaLigne = Target(1, 1).Row
LaColonne = Target(1, 1).Column
DebutColonne = Range("Saisie").Column
If LaColonne > DebutColonne Then
Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne,
LaColonne - 1))
Application.EnableEvents = False
If Plg.Columns.Count = 1 Then
If Plg.Value = "" Then Plg.Value = 0
Else
On Error Resume Next
Set Plg = Plg.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not Plg Is Nothing Then
Plg.Value = 0
End If
End If
Application.EnableEvents = True
End If
End If
Set Plg = Nothing
End Sub
Pour ton 2ième problème, la procédure suivante (dans un module standard):
Sub RetourCmd()
Dim Plg As Range
Set Plg = Intersect(ActiveCell.EntireRow, Range("Saisie"))
If Not Plg Is Nothing Then
Application.EnableEvents = False
Plg.Value = 0
ActiveCell.Value = "R"
Application.EnableEvents = True
End If
Set Plg = Nothing
End Sub
Comme tu peux le voir ci-aprés , j'ai modifié le code avec une boucle for next sinon ça remplissait toutes les cellules (même les "non-vides") de zéros. C 'est lent et pas trés "élégant" comme code mais ça fonctionne. Merci beaucoup.
Private Sub Worksheet_Change(ByVal Target As Range) Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer Dim Plg As Range Dim CellVide As Range Dim Cellules As Integer, Nombre As Integer
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then LaLigne = Target(1, 1).Row LaColonne = Target(1, 1).Column DebutColonne = Range("Saisie").Column If LaColonne > DebutColonne Then Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne, LaColonne - 1)) Application.EnableEvents = False If Plg.Columns.Count = 1 Then If Plg.Value = "" Then Plg.Value = 0 Else
Cellules = Plg.Columns.Count For Nombre = 1 To Cellules Set CellVide = Cells(LaLigne, LaColonne - Nombre) If CellVide = "" Then CellVide = 0 Next
End If Application.EnableEvents = True End If End If Set Plg = Nothing End Sub
"Daniel.M" a écrit dans le message de news:
Salut Gérard,
Nomme tes 12 colonnes par X lignes, la plage Saisie (Menu Insère/Nom/Définir)
Pour ton 1er problème, la procédure événementielle suivante (dans le code de
la feuille)
Private Sub Worksheet_Change(ByVal Target As Range) Dim LaLigne As Long, LaColonne As Integer, DebutColonne As Integer Dim Plg As Range
If Not Intersect(Target(1, 1), Range("Saisie")) Is Nothing Then LaLigne = Target(1, 1).Row LaColonne = Target(1, 1).Column DebutColonne = Range("Saisie").Column If LaColonne > DebutColonne Then Set Plg = Range(Cells(LaLigne, DebutColonne), Cells(LaLigne, LaColonne - 1)) Application.EnableEvents = False If Plg.Columns.Count = 1 Then If Plg.Value = "" Then Plg.Value = 0 Else On Error Resume Next Set Plg = Plg.SpecialCells(xlCellTypeBlanks) On Error GoTo 0
If Not Plg Is Nothing Then Plg.Value = 0 End If End If Application.EnableEvents = True End If End If Set Plg = Nothing End Sub
Pour ton 2ième problème, la procédure suivante (dans un module standard):
Sub RetourCmd() Dim Plg As Range
Set Plg = Intersect(ActiveCell.EntireRow, Range("Saisie"))
If Not Plg Is Nothing Then Application.EnableEvents = False Plg.Value = 0 ActiveCell.Value = "R" Application.EnableEvents = True End If Set Plg = Nothing End Sub