Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

reserver une ligne d'un tableau pour la saisie des données...

13 réponses
Avatar
sab
Bonjour,

Plutôt qu'a chaque fois descendre tout en bas du tableau et trouver une
ligne vierge pour rentrer de nouvelles données;j'aimerais que la ligne
3 soit réservée à la saisie du tableau.
A chaque fois que j'ai de nouvelles données je les rentrais sur la
ligne 3 et une fois terminé je cliquerais sur un bouton ou autre et la
saisie irait sur une ligne vierge du tableau. Laissant ainsi a nouveau
la ligne 3 vierge afin de pouvoir faire une nouvelle saisie...
Peut etre cela se fait il ainsi ou avec une sorte de module de saisie
dans Excel?

Merci par avance

3 réponses

1 2
Avatar
Misange
Bonjour
il suffit alors d'ajuster la définition de la dernière colonne :
DernCol = Range("A5").End(xlToRight).Column
devient
DernCol = Range("AU5").End(xlToleft).Column ' ajuste si tu prévois
d'aller au delà de cette colonne AU, tu as droit à 256 colonnes jusqu'à
la version 2003 incluse, 16000 et de brouettes avec 2007 !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

sab a écrit :
Bonjour et merci,

Mais hélas dans les colonnes du tableau (de A à M) il peut y avoir 1 à 3
colonnes vides qui peuvent etre remplie plus tard...



Misange a écrit :
Bonjour
ce que tu demandes c'est très simple à réaliser:
colle cette petite macro dans un module de la feuille contenant ton
tablezau et relie là à un bouton sur ta feuille de calcul (regarde sur
excelabo si tu ne sais pas comment faire). Quand tu cliqueras dessus,
la ligne 4 descendra d'un cran, les formules de la ligne 4 seront
recopiées dans la 3 et tu te trouveras positionnée en A3, prete à
saisir tes données. J'ai supposé que tes données commencent en colonne
A et qu'il n'y a pas de colonne vide.

Sub NouvelleLigneAuDessus()

Dim DernCol As Integer
Dim i As Integer

Rows("4:4").Insert Shift:=xlDown
DernCol = Range("A5").End(xlToRight).Column
For i = 1 To DernCol
If Cells(5, i).HasFormula Then Cells(5, i).Copy Cells(4, i)
Next i
Range("A3").Select

End Sub

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

sab a écrit :
hello Jacky c'est presque ça !!!

Si cela fonctionne c'est genial et a mon avis toutes les personnes
qui sont amenées a saisir des données dans Excel devraient s'en
inspirer!!!

Alors les petits problemes:

La saisie se passe sans probleme sur la ligne réservée à la saisie
c'est a dire la ligne 3 quand on active la macro: la ligne 3 est bien
copiée en fin de tableau (génial) seul probleme seules les données
rentrées sur la ligne 3 sont présentes mais les formules qui sont à
l'intérieur des cellules F ,I et M ne sont plus la.Si il faut par la
suite changer une valeur ce n'est plus possible car les formules ne
sont plus presentes sur cette ligne ET tres important la nouvelle
ligne 3 qui apparait vierge pous une nouvelle saisie est aussi dénuée
de toute formule...(la c'est grave!!). En revanche la liste de choix
avec bouton présente dans la cellule K est bien copiée et est
presente à nouveau dans la ligne 3 de saisie?

Pour pinailler: plutot que de copier la saisie (quand on active la
macro) en fin de tableau est il possible de la copier et l'insérer
par defaut en ligne 4 . Plus agreable que de remonter a chaque fois
du bas tu tableau a la ligne 3 surtout si le tableau a plus de 100
lignes...

Voila si cela fonctionne ce serait génial et il me semble que cela
mériterait d'etre publier dans les FAQ de Excel. Il me semble qu'une
ligne dédiée à la saisie en haut de tableau devrait etre
incontournable dans n'importe quel tableau Excel!! Non??

Merci




Jacky a écrit :
Re...
....comme je l'avais dit bloquer une ligne du tabeau pour la saisie




Une bidouille du genre
'----------
Sub jj()
Dim x As Long
x = Cells(Rows.Count, "a").End(3).Row + 1
Rows(3).Copy
Rows(x).PasteSpecial Paste:=xlPasteValues
Rows(3).ClearContents
[a3] = "Ligne de saisie"
End Sub
'------------
Voir ici
http://cjoint.com/?hdvYTnuGy5


-- Salutations
JJ










Avatar
Jacky
Re...
C'est ce qu'on appelle une question à tiroir...;o)
Essaie ceci:
'------------
Sub jj()
Range("A4:M4").Insert Shift:=xlDown
[A3:M3].Copy [a4:m4]
Range("A4:M4").Interior.ColorIndex = xlNone
Range("a3:e3,g3:h3,j3:l3").ClearContents ' a adapter
[a3] = "Ligne de saisie": [a3].Select
End Sub
'-------------
Voir ici
http://cjoint.com/?hguK3b4fvr

.....A tel point qu'on se demande pourquoi cette


macro n'est pas livrée avec Excel libre aux utilisateurs de l'employer ou
non...


C'est une façon de faire très basique pour ne pas dire archaïque , il y a
des méthodes beaucoup plus pro. Un peu plus compliqué, certes, mais beaucoup
plus fonctionnelles
Tu devrais voir les infos sur les "Userform"
ici:
http://xlwiki.free.fr/wiki/wakka.php?wiki=UserForm
et bien d'autres sur le net
--
Salutations
JJ


"sab" a écrit dans le message de news:

Bonjour Jacky...

Alors la bravo!!!Si une personne des FAQ Excel passe par ce post merci de
mettre la macro de Jacky dans la FAQ car elle va dépanner pas mal de
personnes!!!Pour moi c'est le B.A BA d'un tableau d'avoir une ligne de
saisie fixe en haut de tableau juste sous les titres...(quand vous
saisissez sur une ligne vierge en bas de tableau vous ne voyez meme plus
les titres des colonnes!!).A tel point qu'on se demande pourquoi cette
macro n'est pas livrée avec Excel libre aux utilisateurs de l'employer ou
non...

Jacky si tu passes par la voila des bricoles que j'ai constaté:

Je n'avais rien contre (bien au contraire ) que la ligne de saisie soit de
couleur (cela la met en évidence) mais en fait la couleur est copiée dans
dans la ligne 4 et ça pour moi ca ne fonctionne pas car cela occulte les
mises en forme conditionnelle d'une des cellules.J'ai donc mis dans la
macro: interiorcolor=0

D'autre part comment rajouter dans la macro que cela s'arrete à la cellule
M car quand je clique sur confirmer la saisie c'est toute la ligne 3 (de A
à l'infini) qui se copie en 4 et comme j'ai des cellules de travail qui
sont dans les colonnes O;P.Q à chaque saisie elles descendent d'un cran et
dans quelques mois je ne saurais plus ou elles sont!!!!

A part cela c'est nickel!! la ligne 3 est bien copiée en 4 avec ses
formules ; et la nouvelles ligne de saisie vierge possède toutes les
formules...Un grand merci; beau travail...









Jacky a écrit :
Re...
Adapte ceci
'----------------
Sub jj()
Dim x As Long
x = Cells(3, Columns.Count).End(1).Column
Rows(4).Insert
Rows(3).Copy Rows(4)
Range(Cells(4, 1), Cells(4, x)).Interior.ColorIndex = 35
Range("a3:e3,g3:h3,j3:l3,n3:iv3").ClearContents ' a adapter
[a3] = "Ligne de saisie": [a3].Select
End Sub
'----------------
voir ici
http://cjoint.com/?hfwO5VxzIc
--
Salutations
JJ


"sab" a écrit dans le message de news:

hello Jacky c'est presque ça !!!

Si cela fonctionne c'est genial et a mon avis toutes les personnes qui
sont amenées a saisir des données dans Excel devraient s'en inspirer!!!

Alors les petits problemes:

La saisie se passe sans probleme sur la ligne réservée à la saisie c'est
a
dire la ligne 3 quand on active la macro: la ligne 3 est bien copiée en
fin de tableau (génial) seul probleme seules les données rentrées sur la
ligne 3 sont présentes mais les formules qui sont à l'intérieur des
cellules F ,I et M ne sont plus la.Si il faut par la suite changer une
valeur ce n'est plus possible car les formules ne sont plus presentes
sur
cette ligne ET tres important la nouvelle ligne 3 qui apparait vierge
pous
une nouvelle saisie est aussi dénuée de toute formule...(la c'est
grave!!). En revanche la liste de choix avec bouton présente dans la
cellule K est bien copiée et est presente à nouveau dans la ligne 3 de
saisie?

Pour pinailler: plutot que de copier la saisie (quand on active la
macro)
en fin de tableau est il possible de la copier et l'insérer par defaut
en
ligne 4 . Plus agreable que de remonter a chaque fois du bas tu tableau
a
la ligne 3 surtout si le tableau a plus de 100 lignes...

Voila si cela fonctionne ce serait génial et il me semble que cela
mériterait d'etre publier dans les FAQ de Excel. Il me semble qu'une
ligne
dédiée à la saisie en haut de tableau devrait etre incontournable dans
n'importe quel tableau Excel!! Non??

Merci










Avatar
sab
Jacky a écrit :
Re...
C'est ce qu'on appelle une question à tiroir...;o)
Essaie ceci:
'------------
Sub jj()
Range("A4:M4").Insert Shift:=xlDown
[A3:M3].Copy [a4:m4]
Range("A4:M4").Interior.ColorIndex = xlNone
Range("a3:e3,g3:h3,j3:l3").ClearContents ' a adapter
[a3] = "Ligne de saisie": [a3].Select
End Sub
'-------------
Voir ici
http://cjoint.com/?hguK3b4fvr

.....A tel point qu'on se demande pourquoi cette


macro n'est pas livrée avec Excel libre aux utilisateurs de l'employer ou
non...


C'est une façon de faire très basique pour ne pas dire archaïque , il y a
des méthodes beaucoup plus pro. Un peu plus compliqué, certes, mais beaucoup
plus fonctionnelles
Tu devrais voir les infos sur les "Userform"
ici:
http://xlwiki.free.fr/wiki/wakka.php?wiki=UserForm
et bien d'autres sur le net
--
Salutations
JJ


"sab" a écrit dans le message de news:

Bonjour Jacky...

Alors la bravo!!!Si une personne des FAQ Excel passe par ce post merci de
mettre la macro de Jacky dans la FAQ car elle va dépanner pas mal de
personnes!!!Pour moi c'est le B.A BA d'un tableau d'avoir une ligne de
saisie fixe en haut de tableau juste sous les titres...(quand vous
saisissez sur une ligne vierge en bas de tableau vous ne voyez meme plus
les titres des colonnes!!).A tel point qu'on se demande pourquoi cette
macro n'est pas livrée avec Excel libre aux utilisateurs de l'employer ou
non...

Jacky si tu passes par la voila des bricoles que j'ai constaté:

Je n'avais rien contre (bien au contraire ) que la ligne de saisie soit de
couleur (cela la met en évidence) mais en fait la couleur est copiée dans
dans la ligne 4 et ça pour moi ca ne fonctionne pas car cela occulte les
mises en forme conditionnelle d'une des cellules.J'ai donc mis dans la
macro: interiorcolor=0

D'autre part comment rajouter dans la macro que cela s'arrete à la cellule
M car quand je clique sur confirmer la saisie c'est toute la ligne 3 (de A
à l'infini) qui se copie en 4 et comme j'ai des cellules de travail qui
sont dans les colonnes O;P.Q à chaque saisie elles descendent d'un cran et
dans quelques mois je ne saurais plus ou elles sont!!!!

A part cela c'est nickel!! la ligne 3 est bien copiée en 4 avec ses
formules ; et la nouvelles ligne de saisie vierge possède toutes les
formules...Un grand merci; beau travail...









Jacky a écrit :
Re...
Adapte ceci
'----------------
Sub jj()
Dim x As Long
x = Cells(3, Columns.Count).End(1).Column
Rows(4).Insert
Rows(3).Copy Rows(4)
Range(Cells(4, 1), Cells(4, x)).Interior.ColorIndex = 35
Range("a3:e3,g3:h3,j3:l3,n3:iv3").ClearContents ' a adapter
[a3] = "Ligne de saisie": [a3].Select
End Sub
'----------------
voir ici
http://cjoint.com/?hfwO5VxzIc
--
Salutations
JJ


"sab" a écrit dans le message de news:

hello Jacky c'est presque ça !!!

Si cela fonctionne c'est genial et a mon avis toutes les personnes qui
sont amenées a saisir des données dans Excel devraient s'en inspirer!!!

Alors les petits problemes:

La saisie se passe sans probleme sur la ligne réservée à la saisie c'est
a
dire la ligne 3 quand on active la macro: la ligne 3 est bien copiée en
fin de tableau (génial) seul probleme seules les données rentrées sur la
ligne 3 sont présentes mais les formules qui sont à l'intérieur des
cellules F ,I et M ne sont plus la.Si il faut par la suite changer une
valeur ce n'est plus possible car les formules ne sont plus presentes
sur
cette ligne ET tres important la nouvelle ligne 3 qui apparait vierge
pous
une nouvelle saisie est aussi dénuée de toute formule...(la c'est
grave!!). En revanche la liste de choix avec bouton présente dans la
cellule K est bien copiée et est presente à nouveau dans la ligne 3 de
saisie?

Pour pinailler: plutot que de copier la saisie (quand on active la
macro)
en fin de tableau est il possible de la copier et l'insérer par defaut
en
ligne 4 . Plus agreable que de remonter a chaque fois du bas tu tableau
a
la ligne 3 surtout si le tableau a plus de 100 lignes...

Voila si cela fonctionne ce serait génial et il me semble que cela
mériterait d'etre publier dans les FAQ de Excel. Il me semble qu'une
ligne
dédiée à la saisie en haut de tableau devrait etre incontournable dans
n'importe quel tableau Excel!! Non??

Merci









Je n'aurais qu'un mot IMPECCABLE....
Je conseille tout de meme que l'on mette cette macro dans les Faq
d'excel cela depannera pas mal de gens qui n'ont pas besoin d'un
formulaire...

Bravo et merci
1 2