Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses
en mettant la main à la pâte suivant mes "petites" connaissances en macro
et là, je bute sur un problème de formule.
Dans le principe : j'ai une petite base de données que j'alimente
manuellement avec : données grille (via macro associée à un bouton). suite
à la saisie d'une fiche, je souhaite que dans la colonne B, dans la
dernière cellule vide, s'inscrive un N° qui s'incrémente automatiquement
SI les cellules G et H de la ligne active renvoient <>"" (différent de
vide ou rien"
ci joint la macro en question, mais le problème est : quand je teste ma
macro (F8) Sans renseigner la ligne considérée, le n° d'incrément se place
seul, alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage()
' comptage Macro
' Macro enregistrée le 04/09/2006 par MP
With Worksheets("saisies")
nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count
End With
Range("B12").Select ' début de l'entête de colonne qui se nomme NR
ActiveCell.Offset(rowOffset:=nvaleur).Activate
ActiveSheet.Unprotect ' déprotège la feuille
ActiveCell.FormulaR1C1 =
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules
vides
' le reste fonctionne sans problème
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Range("B12").Select
Application.CutCopyMode = False
protege 'protège la feuille
End Sub
--
MesNews : www.mesnews.net
Forum : news://news.zoo-logique.org/MesNews
Identifiant = zoo & MdP = entrer
Une fausse erreur n'est pas forcément une vérité vraie.
Pierre DAC (1893-1975)
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
JLuc
*Bonjour Mavichavel*, Dans la ligne :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Bonsoir tout le monde
Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses en mettant la main à la pâte suivant mes "petites" connaissances en macro et là, je bute sur un problème de formule. Dans le principe : j'ai une petite base de données que j'alimente manuellement avec : données grille (via macro associée à un bouton). suite à la saisie d'une fiche, je souhaite que dans la colonne B, dans la dernière cellule vide, s'inscrive un N° qui s'incrémente automatiquement SI les cellules G et H de la ligne active renvoient <>"" (différent de vide ou rien" ci joint la macro en question, mais le problème est : quand je teste ma macro (F8) Sans renseigner la ligne considérée, le n° d'incrément se place seul, alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage() ' comptage Macro ' Macro enregistrée le 04/09/2006 par MP With Worksheets("saisies") nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count End With Range("B12").Select ' début de l'entête de colonne qui se nomme NR ActiveCell.Offset(rowOffset:=nvaleur).Activate ActiveSheet.Unprotect ' déprotège la feuille ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules vides ' le reste fonctionne sans problème
Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:úlse Range("B12").Select Application.CutCopyMode = False protege 'protège la feuille End Sub
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour Mavichavel*,
Dans la ligne :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Bonsoir tout le monde
Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses en
mettant la main à la pâte suivant mes "petites" connaissances en macro et là,
je bute sur un problème de formule.
Dans le principe : j'ai une petite base de données que j'alimente
manuellement avec : données grille (via macro associée à un bouton). suite à
la saisie d'une fiche, je souhaite que dans la colonne B, dans la dernière
cellule vide, s'inscrive un N° qui s'incrémente automatiquement SI les
cellules G et H de la ligne active renvoient <>"" (différent de vide ou rien"
ci joint la macro en question, mais le problème est : quand je teste ma macro
(F8) Sans renseigner la ligne considérée, le n° d'incrément se place seul,
alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage()
' comptage Macro
' Macro enregistrée le 04/09/2006 par MP
With Worksheets("saisies")
nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count
End With
Range("B12").Select ' début de l'entête de colonne qui se nomme NR
ActiveCell.Offset(rowOffset:=nvaleur).Activate
ActiveSheet.Unprotect ' déprotège la feuille
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules vides
' le reste fonctionne sans problème
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("B12").Select
Application.CutCopyMode = False
protege 'protège la feuille
End Sub
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Bonsoir tout le monde
Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses en mettant la main à la pâte suivant mes "petites" connaissances en macro et là, je bute sur un problème de formule. Dans le principe : j'ai une petite base de données que j'alimente manuellement avec : données grille (via macro associée à un bouton). suite à la saisie d'une fiche, je souhaite que dans la colonne B, dans la dernière cellule vide, s'inscrive un N° qui s'incrémente automatiquement SI les cellules G et H de la ligne active renvoient <>"" (différent de vide ou rien" ci joint la macro en question, mais le problème est : quand je teste ma macro (F8) Sans renseigner la ligne considérée, le n° d'incrément se place seul, alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage() ' comptage Macro ' Macro enregistrée le 04/09/2006 par MP With Worksheets("saisies") nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count End With Range("B12").Select ' début de l'entête de colonne qui se nomme NR ActiveCell.Offset(rowOffset:=nvaleur).Activate ActiveSheet.Unprotect ' déprotège la feuille ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules vides ' le reste fonctionne sans problème
Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:úlse Range("B12").Select Application.CutCopyMode = False protege 'protège la feuille End Sub
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Mavichavel
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire clairement ce *lundi* ,
*Bonjour Mavichavel*, Dans la ligne :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Merci JLuc, mais cela est de ma faute si le double cotage n'est pas visible, j'ai corrigé manuellement la formule et ai inséré "fin" pour plus de lisibilité.. la formule est bonne, mais je pense qu'elle doit faire référence à la ligne supérieure et donc, évidemment, à chaque foi, elle incrémente de 1 alors qu'en réalité elle devrait laisser vide la cellule B.je ne trouve pas la solution et je tourne en rond... :/
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer On ne dit pas "je suis paniquée" mais "je cherche un mec"...
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire
clairement ce *lundi* ,
*Bonjour Mavichavel*,
Dans la ligne :
ActiveCell.FormulaR1C1 =
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Merci JLuc, mais cela est de ma faute si le double cotage n'est pas
visible, j'ai corrigé manuellement la formule et ai inséré "fin" pour plus
de lisibilité.. la formule est bonne, mais je pense qu'elle doit faire
référence à la ligne supérieure et donc, évidemment, à chaque foi, elle
incrémente de 1 alors qu'en réalité elle devrait laisser vide la cellule
B.je ne trouve pas la solution et je tourne en rond...
:/
--
MesNews : www.mesnews.net
Forum : news://news.zoo-logique.org/MesNews
Identifiant = zoo & MdP = entrer
On ne dit pas "je suis paniquée" mais "je cherche un mec"...
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire clairement ce *lundi* ,
*Bonjour Mavichavel*, Dans la ligne :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Merci JLuc, mais cela est de ma faute si le double cotage n'est pas visible, j'ai corrigé manuellement la formule et ai inséré "fin" pour plus de lisibilité.. la formule est bonne, mais je pense qu'elle doit faire référence à la ligne supérieure et donc, évidemment, à chaque foi, elle incrémente de 1 alors qu'en réalité elle devrait laisser vide la cellule B.je ne trouve pas la solution et je tourne en rond... :/
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer On ne dit pas "je suis paniquée" mais "je cherche un mec"...
JLuc
*Bonjour Mavichavel*, Je crois que j'ai trouvé ton erreur : ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6])>0,R[-1]C+1,""fin"")"
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" En tout cas, ça a l'air de marcher
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire clairement ce *lundi* ,
*Bonjour Mavichavel*, Dans la ligne :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Merci JLuc, mais cela est de ma faute si le double cotage n'est pas visible, j'ai corrigé manuellement la formule et ai inséré "fin" pour plus de lisibilité.. la formule est bonne, mais je pense qu'elle doit faire référence à la ligne supérieure et donc, évidemment, à chaque foi, elle incrémente de 1 alors qu'en réalité elle devrait laisser vide la cellule B.je ne trouve pas la solution et je tourne en rond... :/
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour Mavichavel*,
Je crois que j'ai trouvé ton erreur :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6])>0,R[-1]C+1,""fin"")"
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
En tout cas, ça a l'air de marcher
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire
clairement ce *lundi* ,
*Bonjour Mavichavel*,
Dans la ligne :
ActiveCell.FormulaR1C1 =
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Merci JLuc, mais cela est de ma faute si le double cotage n'est pas visible,
j'ai corrigé manuellement la formule et ai inséré "fin" pour plus de
lisibilité.. la formule est bonne, mais je pense qu'elle doit faire référence
à la ligne supérieure et donc, évidemment, à chaque foi, elle incrémente de 1
alors qu'en réalité elle devrait laisser vide la cellule B.je ne trouve pas
la solution et je tourne en rond...
:/
*Bonjour Mavichavel*, Je crois que j'ai trouvé ton erreur : ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6])>0,R[-1]C+1,""fin"")"
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" En tout cas, ça a l'air de marcher
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire clairement ce *lundi* ,
*Bonjour Mavichavel*, Dans la ligne :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" il ne faudrai pas doubler les cotes ? ....,""fin"")" par hasard ?
Merci JLuc, mais cela est de ma faute si le double cotage n'est pas visible, j'ai corrigé manuellement la formule et ai inséré "fin" pour plus de lisibilité.. la formule est bonne, mais je pense qu'elle doit faire référence à la ligne supérieure et donc, évidemment, à chaque foi, elle incrémente de 1 alors qu'en réalité elle devrait laisser vide la cellule B.je ne trouve pas la solution et je tourne en rond... :/
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Mavichavel
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire clairement ce *lundi* ,
ça progresse mais ce n'est pas encore bon hélas....car si Fin est écrit, la base de données ne peut plus s'étendre et si je remplace fin par "" (rien) même problème. apparement même avec 'rien' (autrement dit, cellule vide) d'écrit dans la cellule, excel (xl97) considére qu'il y a quelque chose et de fait me renvoi l'erreur ! "la base ne peut être étendue"
Bon, en tout cas merci de t'être penché sur mon souci...pour l'heure, se sera dodod car demain boulot...bonne fin de soirée et bonne nuit...demain il fera jour :D
*Bonjour Mavichavel*, Je crois que j'ai trouvé ton erreur : ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6])>0,R[-1]C+1,""fin"")"
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" En tout cas, ça a l'air de marcher
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer :-) un adolescent en manque de rebellion
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire
clairement ce *lundi* ,
ça progresse mais ce n'est pas encore bon hélas....car si Fin est écrit,
la base de données ne peut plus s'étendre et si je remplace fin par ""
(rien) même problème. apparement même avec 'rien' (autrement dit, cellule
vide) d'écrit dans la cellule, excel (xl97) considére qu'il y a quelque
chose et de fait me renvoi l'erreur ! "la base ne peut être étendue"
Bon, en tout cas merci de t'être penché sur mon souci...pour l'heure, se
sera dodod car demain boulot...bonne fin de soirée et bonne nuit...demain
il fera jour :D
*Bonjour Mavichavel*,
Je crois que j'ai trouvé ton erreur :
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6])>0,R[-1]C+1,""fin"")"
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
En tout cas, ça a l'air de marcher
--
MesNews : www.mesnews.net
Forum : news://news.zoo-logique.org/MesNews
Identifiant = zoo & MdP = entrer
P@py_Michel :-) un adolescent en manque de rebellion
Aprés avoir mis ses gants de boxe *JLuc* a réalisé l'exploit d'écrire clairement ce *lundi* ,
ça progresse mais ce n'est pas encore bon hélas....car si Fin est écrit, la base de données ne peut plus s'étendre et si je remplace fin par "" (rien) même problème. apparement même avec 'rien' (autrement dit, cellule vide) d'écrit dans la cellule, excel (xl97) considére qu'il y a quelque chose et de fait me renvoi l'erreur ! "la base ne peut être étendue"
Bon, en tout cas merci de t'être penché sur mon souci...pour l'heure, se sera dodod car demain boulot...bonne fin de soirée et bonne nuit...demain il fera jour :D
*Bonjour Mavichavel*, Je crois que j'ai trouvé ton erreur : ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6])>0,R[-1]C+1,""fin"")"
"=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")" En tout cas, ça a l'air de marcher
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer :-) un adolescent en manque de rebellion
lSteph
Bonsoir,
SI les cellules G et H de la ligne active renvoient <>"" donc on ne numérote que si les deux sont remplies!
Tu peux préalablement poser ceci indépendament de ta macro:
Exemple dans la colonne: en partant de B13 à recopier vers bas =SOMMEPROD((G13<>"")*(H13<>"");MAX(B$12:B12)+1) ou =SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
Cordialement.
lSteph
(Sinon pour faciliter l'usage des macros sur une feuille que l'on veut protèger il est amha bien plus commode d'utiliser userinterfaceonly (à ouverture et/ou fermeture du classeur), en paramètre de protect que de s' em...er à déprotèger reprotèger à chaque fois. La protection demeurant efficace dans un cadre standard d'utilisation et restant au delà bien illusoire.)
"Mavichavel" a écrit dans le message de news:
Bonsoir tout le monde
Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses en mettant la main à la pâte suivant mes "petites" connaissances en macro et là, je bute sur un problème de formule. Dans le principe : j'ai une petite base de données que j'alimente manuellement avec : données grille (via macro associée à un bouton). suite à la saisie d'une fiche, je souhaite que dans la colonne B, dans la dernière cellule vide, s'inscrive un N° qui s'incrémente automatiquement SI les cellules G et H de la ligne active renvoient <>"" (différent de vide ou rien" ci joint la macro en question, mais le problème est : quand je teste ma macro (F8) Sans renseigner la ligne considérée, le n° d'incrément se place seul, alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage() ' comptage Macro ' Macro enregistrée le 04/09/2006 par MP With Worksheets("saisies") nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count End With Range("B12").Select ' début de l'entête de colonne qui se nomme NR ActiveCell.Offset(rowOffset:=nvaleur).Activate ActiveSheet.Unprotect ' déprotège la feuille ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules vides ' le reste fonctionne sans problème
Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:úlse Range("B12").Select Application.CutCopyMode = False protege 'protège la feuille End Sub
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer Une fausse erreur n'est pas forcément une vérité vraie. Pierre DAC (1893-1975)
Bonsoir,
SI les cellules G et H de la ligne active renvoient <>""
donc on ne numérote que si les deux sont remplies!
Tu peux préalablement poser ceci indépendament de ta macro:
Exemple dans la colonne:
en partant de B13 à recopier vers bas
=SOMMEPROD((G13<>"")*(H13<>"");MAX(B$12:B12)+1)
ou
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
Cordialement.
lSteph
(Sinon pour faciliter l'usage des macros sur une feuille que l'on veut
protèger
il est amha bien plus commode d'utiliser userinterfaceonly
(à ouverture et/ou fermeture du classeur), en paramètre de protect
que de s' em...er à déprotèger reprotèger à chaque fois.
La protection demeurant efficace dans un cadre standard d'utilisation et
restant au delà bien illusoire.)
"Mavichavel" <gaston.lagaffe@denFace.com> a écrit dans le message de news:
mn.251e7d693d71ae22.11921@denFace.com...
Bonsoir tout le monde
Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses
en mettant la main à la pâte suivant mes "petites" connaissances en macro
et là, je bute sur un problème de formule.
Dans le principe : j'ai une petite base de données que j'alimente
manuellement avec : données grille (via macro associée à un bouton). suite
à la saisie d'une fiche, je souhaite que dans la colonne B, dans la
dernière cellule vide, s'inscrive un N° qui s'incrémente automatiquement
SI les cellules G et H de la ligne active renvoient <>"" (différent de
vide ou rien"
ci joint la macro en question, mais le problème est : quand je teste ma
macro (F8) Sans renseigner la ligne considérée, le n° d'incrément se place
seul, alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage()
' comptage Macro
' Macro enregistrée le 04/09/2006 par MP
With Worksheets("saisies")
nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count
End With
Range("B12").Select ' début de l'entête de colonne qui se nomme NR
ActiveCell.Offset(rowOffset:=nvaleur).Activate
ActiveSheet.Unprotect ' déprotège la feuille
ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules
vides
' le reste fonctionne sans problème
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Range("B12").Select
Application.CutCopyMode = False
protege 'protège la feuille
End Sub
--
MesNews : www.mesnews.net
Forum : news://news.zoo-logique.org/MesNews
Identifiant = zoo & MdP = entrer
Une fausse erreur n'est pas forcément une vérité vraie.
Pierre DAC (1893-1975)
SI les cellules G et H de la ligne active renvoient <>"" donc on ne numérote que si les deux sont remplies!
Tu peux préalablement poser ceci indépendament de ta macro:
Exemple dans la colonne: en partant de B13 à recopier vers bas =SOMMEPROD((G13<>"")*(H13<>"");MAX(B$12:B12)+1) ou =SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
Cordialement.
lSteph
(Sinon pour faciliter l'usage des macros sur une feuille que l'on veut protèger il est amha bien plus commode d'utiliser userinterfaceonly (à ouverture et/ou fermeture du classeur), en paramètre de protect que de s' em...er à déprotèger reprotèger à chaque fois. La protection demeurant efficace dans un cadre standard d'utilisation et restant au delà bien illusoire.)
"Mavichavel" a écrit dans le message de news:
Bonsoir tout le monde
Voila, j'utilise l'enregistreur de macros et essaye d'affiner les choses en mettant la main à la pâte suivant mes "petites" connaissances en macro et là, je bute sur un problème de formule. Dans le principe : j'ai une petite base de données que j'alimente manuellement avec : données grille (via macro associée à un bouton). suite à la saisie d'une fiche, je souhaite que dans la colonne B, dans la dernière cellule vide, s'inscrive un N° qui s'incrémente automatiquement SI les cellules G et H de la ligne active renvoient <>"" (différent de vide ou rien" ci joint la macro en question, mais le problème est : quand je teste ma macro (F8) Sans renseigner la ligne considérée, le n° d'incrément se place seul, alors que la ligne est vide..... où est l'erreur..
merci d'avance du coup de pouce que vous pourrez m'apporter.
Sub comptage() ' comptage Macro ' Macro enregistrée le 04/09/2006 par MP With Worksheets("saisies") nvaleur = .Range(.[b12], .[b65536].End(xlUp)).Count End With Range("B12").Select ' début de l'entête de colonne qui se nomme NR ActiveCell.Offset(rowOffset:=nvaleur).Activate ActiveSheet.Unprotect ' déprotège la feuille ActiveCell.FormulaR1C1 = "=IF(COUNTA(RC[5]:RC[6]<>""""),R[-1]C+1,"fin")"
' La ligne ci-dessus pose problème carelle incrémente même SI cellules vides ' le reste fonctionne sans problème
Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:úlse Range("B12").Select Application.CutCopyMode = False protege 'protège la feuille End Sub
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer Une fausse erreur n'est pas forcément une vérité vraie. Pierre DAC (1893-1975)
Mavichavel
Du fond de l'espace, de la station 81.57.228.83 , notre ami *lSteph* nous fait parvenir en ce *lundi* mémorable, le message suivant :
Bonsoir LSteph Je pense m'être mal exprimé...en fait la personne chargée de la saisie des fiches verra l'incrémentation des dites fiches au fur et à mesures dela saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...donc, c'est avec une macro que je compte faire fonctionner le principe. Mais, je suisouvert à toutes propositions ^^ et j'examinerai la tienne demain soir sans fauteet te tiendrai au fait des choses. Merci à toi et au plaisir...
Bonsoir,
SI les cellules G et H de la ligne active renvoient <>"" donc on ne numérote que si les deux sont remplies!
Tu peux préalablement poser ceci indépendament de ta macro:
Exemple dans la colonne: en partant de B13 à recopier vers bas =SOMMEPROD((G13<>"")*(H13<>"");MAX(B$12:B12)+1) ou =SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
Ok, je planche sur ta soluce dés que possible.
Cordialement.
lSteph
(Sinon pour faciliter l'usage des macros sur une feuille que l'on veut protèger il est amha bien plus commode d'utiliser userinterfaceonly (à ouverture et/ou fermeture du classeur), en paramètre de protect que de s' em...er à déprotèger reprotèger à chaque fois. La protection demeurant efficace dans un cadre standard d'utilisation et restant au delà bien illusoire.) Je ne connais pas, mais je ne demande qu'à apprendre....
Bonne nuit ...
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer On ne dit pas je tripote, mais j'ai trois amis.
Du fond de l'espace, de la station 81.57.228.83 , notre ami *lSteph*
nous fait parvenir en ce *lundi* mémorable, le message suivant :
Bonsoir LSteph
Je pense m'être mal exprimé...en fait la personne chargée de la saisie des
fiches verra l'incrémentation des dites fiches au fur et à mesures dela
saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée,
le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en
G et H (nom et prénom sont renseignées) sinon, nada pas de n° de
fiche...donc, c'est avec une macro que je compte faire fonctionner le
principe.
Mais, je suisouvert à toutes propositions ^^ et j'examinerai la tienne
demain soir sans fauteet te tiendrai au fait des choses.
Merci à toi et au plaisir...
Bonsoir,
SI les cellules G et H de la ligne active renvoient <>""
donc on ne numérote que si les deux sont remplies!
Tu peux préalablement poser ceci indépendament de ta macro:
Exemple dans la colonne:
en partant de B13 à recopier vers bas
=SOMMEPROD((G13<>"")*(H13<>"");MAX(B$12:B12)+1)
ou
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
Ok, je planche sur ta soluce dés que possible.
Cordialement.
lSteph
(Sinon pour faciliter l'usage des macros sur une feuille que l'on veut
protèger
il est amha bien plus commode d'utiliser userinterfaceonly
(à ouverture et/ou fermeture du classeur), en paramètre de protect
que de s' em...er à déprotèger reprotèger à chaque fois.
La protection demeurant efficace dans un cadre standard d'utilisation et
restant au delà bien illusoire.)
Je ne connais pas, mais je ne demande qu'à apprendre....
Bonne nuit ...
--
MesNews : www.mesnews.net
Forum : news://news.zoo-logique.org/MesNews
Identifiant = zoo & MdP = entrer
On ne dit pas je tripote, mais j'ai trois amis.
Du fond de l'espace, de la station 81.57.228.83 , notre ami *lSteph* nous fait parvenir en ce *lundi* mémorable, le message suivant :
Bonsoir LSteph Je pense m'être mal exprimé...en fait la personne chargée de la saisie des fiches verra l'incrémentation des dites fiches au fur et à mesures dela saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...donc, c'est avec une macro que je compte faire fonctionner le principe. Mais, je suisouvert à toutes propositions ^^ et j'examinerai la tienne demain soir sans fauteet te tiendrai au fait des choses. Merci à toi et au plaisir...
Bonsoir,
SI les cellules G et H de la ligne active renvoient <>"" donc on ne numérote que si les deux sont remplies!
Tu peux préalablement poser ceci indépendament de ta macro:
Exemple dans la colonne: en partant de B13 à recopier vers bas =SOMMEPROD((G13<>"")*(H13<>"");MAX(B$12:B12)+1) ou =SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
Ok, je planche sur ta soluce dés que possible.
Cordialement.
lSteph
(Sinon pour faciliter l'usage des macros sur une feuille que l'on veut protèger il est amha bien plus commode d'utiliser userinterfaceonly (à ouverture et/ou fermeture du classeur), en paramètre de protect que de s' em...er à déprotèger reprotèger à chaque fois. La protection demeurant efficace dans un cadre standard d'utilisation et restant au delà bien illusoire.) Je ne connais pas, mais je ne demande qu'à apprendre....
Bonne nuit ...
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer On ne dit pas je tripote, mais j'ai trois amis.
lSteph
Re,
Mavichavel" qui s'était fort bien exprimé
fiches verra l'incrémentation des dites fiches au fur et à mesures dela saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...
Oui tout à fait !
avec ceci B renvoie ""rien ou la valeur incrémentée:
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
(tu peux l'étendre aussi bas que tu veux
..donc ... une macro n'est pas indispensable mais tu peux aussi faire cela en vba!
@+
lSteph
Re,
Mavichavel" <gaston.lagaffe@denFace.com> qui s'était fort bien exprimé
fiches verra l'incrémentation des dites fiches au fur et à mesures dela
saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée,
le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en
G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...
Oui tout à fait !
avec ceci B renvoie ""rien ou la valeur incrémentée:
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
(tu peux l'étendre aussi bas que tu veux
..donc ...
une macro n'est pas indispensable mais tu peux aussi faire cela en vba!
fiches verra l'incrémentation des dites fiches au fur et à mesures dela saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...
Oui tout à fait !
avec ceci B renvoie ""rien ou la valeur incrémentée:
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
(tu peux l'étendre aussi bas que tu veux
..donc ... une macro n'est pas indispensable mais tu peux aussi faire cela en vba!
@+
lSteph
Mavichavel
en ce *lundi* *04/09/2006* , notre trés honoré(e) *lSteph* dans un éclair de génie et aprés mûre reflexion a enfin exprimé sa pensée en ce qui suit :
Bonsoir LSteph
La solution formule me convient parfaitement, elle roule toute seule et répond à mes attentes. Je t'en remercie. Pour la soluce macro, je plancherai sur le sujet quand j'aurai un peu plus de temps...
Bonne soirée à toi et au plaisir. :-Z
Re,
Mavichavel" qui s'était fort bien exprimé
fiches verra l'incrémentation des dites fiches au fur et à mesures dela saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...
Oui tout à fait !
avec ceci B renvoie ""rien ou la valeur incrémentée:
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
(tu peux l'étendre aussi bas que tu veux
..donc ... une macro n'est pas indispensable mais tu peux aussi faire cela en vba!
@+
lSteph
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer Quand on dit d'un artiste comique de grand talent qu'il n'a pas de prix, ce n'est pas une raison pour ne pas le payer sous le fallacieux prétexte qu'il est impayable. Pierre DAC (1893-1975)
en ce *lundi* *04/09/2006* , notre trés honoré(e) *lSteph* dans un éclair
de génie et aprés mûre reflexion a enfin exprimé sa pensée en ce qui suit
:
Bonsoir LSteph
La solution formule me convient parfaitement, elle roule toute seule et
répond à mes attentes.
Je t'en remercie.
Pour la soluce macro, je plancherai sur le sujet quand j'aurai un peu plus
de temps...
Bonne soirée à toi et au plaisir.
:-Z
Re,
Mavichavel" <gaston.lagaffe@denFace.com> qui s'était fort bien exprimé
fiches verra l'incrémentation des dites fiches au fur et à mesures
dela saisie,donc une fois la fiche écrite quand on appuie sur le
touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI
les deux cellules en G et H (nom et prénom sont renseignées) sinon,
nada pas de n° de fiche...
Oui tout à fait !
avec ceci B renvoie ""rien ou la valeur incrémentée:
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
(tu peux l'étendre aussi bas que tu veux
..donc ...
une macro n'est pas indispensable mais tu peux aussi faire cela en vba!
@+
lSteph
--
MesNews : www.mesnews.net
Forum : news://news.zoo-logique.org/MesNews
Identifiant = zoo & MdP = entrer
Quand on dit d'un artiste comique de grand talent qu'il n'a pas de prix,
ce n'est pas une raison pour ne pas le payer sous le fallacieux prétexte
qu'il est impayable.
Pierre DAC (1893-1975)
en ce *lundi* *04/09/2006* , notre trés honoré(e) *lSteph* dans un éclair de génie et aprés mûre reflexion a enfin exprimé sa pensée en ce qui suit :
Bonsoir LSteph
La solution formule me convient parfaitement, elle roule toute seule et répond à mes attentes. Je t'en remercie. Pour la soluce macro, je plancherai sur le sujet quand j'aurai un peu plus de temps...
Bonne soirée à toi et au plaisir. :-Z
Re,
Mavichavel" qui s'était fort bien exprimé
fiches verra l'incrémentation des dites fiches au fur et à mesures dela saisie,donc une fois la fiche écrite quand on appuie sur le touche entrée, le n° de fiche s'incrémentera de 1 Si et seulement SI les deux cellules en G et H (nom et prénom sont renseignées) sinon, nada pas de n° de fiche...
Oui tout à fait !
avec ceci B renvoie ""rien ou la valeur incrémentée:
=SI(ET((G13<>"");(H13<>""));MAX(B$12:B12)+1;"")
(tu peux l'étendre aussi bas que tu veux
..donc ... une macro n'est pas indispensable mais tu peux aussi faire cela en vba!
@+
lSteph
-- MesNews : www.mesnews.net Forum : news://news.zoo-logique.org/MesNews Identifiant = zoo & MdP = entrer Quand on dit d'un artiste comique de grand talent qu'il n'a pas de prix, ce n'est pas une raison pour ne pas le payer sous le fallacieux prétexte qu'il est impayable. Pierre DAC (1893-1975)