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

re-changement de cellule avec conditions (ne fonctionne plus)

8 réponses
Avatar
URIANE
Bonjour et AU SEC :!!!!!
La semaine dernière tout allait à merveille et hier lorsque j'ai mis mes
cellules de saisies à blanc pour pouvoir saisir le mois d'Août j'ai constaté
que je ne sautais plus à ma cellule de saisie suivante comme c'était le cas
la semaine dernière et comme le déclenche la fonction que j'ai mis sur ma
feuille HELP ! c'est comme si la fonction n'existait pas ....
Merci
"lSteph" <gmLSteph@gmail.com> a écrit dans le message de news:
1188981135.648505.57120@22g2000hsm.googlegroups.com...
Bonjour,

et pour que cela marche partout
(repèrage des cellules vides ou non de la ligne)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
With Target
For Each c In Range(.Offset(, 1), Cells(.Row, 255))
If IsEmpty(c) Then Exit For
Next
End With
c.Select

End Sub

8 réponses

Avatar
lSteph
Bonjour,

vérifie que ce code est bien dans le CodeModule de la feuille
concernée.
Il doit réagir lorsque tu saisis dans la feuille et passer à la
cellule suivante
vide de la ligne.

Sinon:
Hyp1. Les évennements sont désactivés ,
pour les réactiver mets cette petite sub dans ton perso ou dans un
module standard et execute la:

Sub rétablir()
With Application
.EnableEvents = True
.StatusBar = False
End With
End Sub


Hyp.2 Tu as pris de nombreux codes suite à tes questions (malgré tes
remerciements parfois appuyés, nous ne savons pas forcément lesquels
tu as choisis à chaque fois ni comment tu les a adaptés à ton projet,
ni n'avons connaissance de la structure complète de ton projet.
Exemple hier tu as posé une qustion pour effacer des colonnes mais ,
pourtant selon ce qu'on avait pu comprendre il y avait un total en
colonne E selon "AT"...
ou bien tu vois ce n'était peut-être pas cette feuille là mais d'ici
on y voit pas.
Tout ce blabla pour dire:
Mets un lien, ici de ton classeur , que tu vas récupèrer sur http://cj oint.com
cela peux n'être qu'une réduction de ton classeur,tu peux réduire la
quantité de données ou modifier des noms qui doivent rester
confidentiels.
L'essentiel est qu'il renferme les fonctionnalités et le code dont on
pourra apprécier ce qu'il conviendrait de rectifier.

@bientôt.

lSteph


On 11 sep, 08:12, "URIANE" wrote:
Bonjour et AU SEC :!!!!!
La semaine dernière tout allait à merveille et hier lorsque j'ai mis mes
cellules de saisies à blanc pour pouvoir saisir le mois d'Août j'ai c onstaté
que je ne sautais plus à ma cellule de saisie suivante comme c'était le cas
la semaine dernière et comme le déclenche la fonction que j'ai mis su r ma
feuille HELP ! c'est comme si la fonction n'existait pas ....
Merci
"lSteph" a écrit dans le message de news:

Bonjour,

et pour que cela marche partout
(repèrage des cellules vides ou non de la ligne)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
With Target
For Each c In Range(.Offset(, 1), Cells(.Row, 255))
If IsEmpty(c) Then Exit For
Next
End With
c.Select

End Sub


Avatar
URIANE
Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais quand je
suis contente de réaliser qq chose et quand on m'aide à le réaliser je le
dis c'est tout, mais je serais moins démonstrative quant à mes
remerciements. J'ai réduis mon fichier excel au mini mais il ne passe
toujours pas c'est bizarre car je n'ai laissé que deux feuilles avec qq
lignes de saisies uniquement que puis-je faire de mieux ?
"lSteph" a écrit dans le message de news:

Bonjour,

vérifie que ce code est bien dans le CodeModule de la feuille
concernée.
Il doit réagir lorsque tu saisis dans la feuille et passer à la
cellule suivante
vide de la ligne.

Sinon:
Hyp1. Les évennements sont désactivés ,
pour les réactiver mets cette petite sub dans ton perso ou dans un
module standard et execute la:

Sub rétablir()
With Application
.EnableEvents = True
.StatusBar = False
End With
End Sub


Hyp.2 Tu as pris de nombreux codes suite à tes questions (malgré tes
remerciements parfois appuyés, nous ne savons pas forcément lesquels
tu as choisis à chaque fois ni comment tu les a adaptés à ton projet,
ni n'avons connaissance de la structure complète de ton projet.
Exemple hier tu as posé une qustion pour effacer des colonnes mais ,
pourtant selon ce qu'on avait pu comprendre il y avait un total en
colonne E selon "AT"...
ou bien tu vois ce n'était peut-être pas cette feuille là mais d'ici
on y voit pas.
Tout ce blabla pour dire:
Mets un lien, ici de ton classeur , que tu vas récupèrer sur
http://cjoint.com
cela peux n'être qu'une réduction de ton classeur,tu peux réduire la
quantité de données ou modifier des noms qui doivent rester
confidentiels.
L'essentiel est qu'il renferme les fonctionnalités et le code dont on
pourra apprécier ce qu'il conviendrait de rectifier.

@bientôt.

lSteph


On 11 sep, 08:12, "URIANE" wrote:
Bonjour et AU SEC :!!!!!
La semaine dernière tout allait à merveille et hier lorsque j'ai mis mes
cellules de saisies à blanc pour pouvoir saisir le mois d'Août j'ai
constaté
que je ne sautais plus à ma cellule de saisie suivante comme c'était le
cas
la semaine dernière et comme le déclenche la fonction que j'ai mis sur ma
feuille HELP ! c'est comme si la fonction n'existait pas ....
Merci
"lSteph" a écrit dans le message de news:

Bonjour,

et pour que cela marche partout
(repèrage des cellules vides ou non de la ligne)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
With Target
For Each c In Range(.Offset(, 1), Cells(.Row, 255))
If IsEmpty(c) Then Exit For
Next
End With
c.Select

End Sub


Avatar
lSteph
Je me suis sans doute mal exprimé....
;-))
Au contraire ces remerciements sont très vivement appréciés!!

(s'il excede 500k je crois cela ne passe plus ... faudrait zipper)

--
lSteph





On 11 sep, 10:29, "URIANE" wrote:
Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais q uand je


Avatar
URIANE
Bon j'ai dans le lien "http://cjoint.com/?jllEy6hkv3" mis mon tableau mais
il était tellement gros que j'ai supprimé toutes mes feuilles en ne laissant
que trois feuilles puis qq explications j'espère que ce sera suffisant pour
que tu puisses regarder ..... MERCI encore je ne le redirais jamais assez !!
"lSteph" a écrit dans le message de news:

Je me suis sans doute mal exprimé....
;-))
Au contraire ces remerciements sont très vivement appréciés!!

(s'il excede 500k je crois cela ne passe plus ... faudrait zipper)

--
lSteph





On 11 sep, 10:29, "URIANE" wrote:
Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais quand
je


Avatar
lSteph
Re,

voilà ce que je peux voir a priori

Pour la feuille SaisieAt c'est l'ancien code donc normal cela ne va
pas à la ligne...
mais passe bien d'une colonne à l'autre
Pour la feuile Saisie j'aurais mis <13 si tu veux pouvoir saisir en
colonne12.
mais sur cette feuille D correspond à une formule...

@+

lSteph

On 11 sep, 11:30, "URIANE" wrote:
Bon j'ai dans le lien "http://cjoint.com/?jllEy6hkv3" mis mon tableau mais
il était tellement gros que j'ai supprimé toutes mes feuilles en ne l aissant
que trois feuilles puis qq explications j'espère que ce sera suffisant pour
que tu puisses regarder ..... MERCI encore je ne le redirais jamais assez !!
"lSteph" a écrit dans le message de news:

Je me suis sans doute mal exprimé....
;-))
Au contraire ces remerciements sont très vivement appréciés!!

(s'il excede 500k je crois cela ne passe plus ... faudrait zipper)

--
lSteph

On 11 sep, 10:29, "URIANE" wrote:

Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais quand
je




Avatar
URIANE
Oui, tu as raison pour la feuille de "saisie" j'ai mis 13 pour la feuille
saisieAT c'est bon aussi j'ai vu mon erreur, et effectivement dans "saisie"
j'ai colonnes "C", "E", et "L" comme saisie mais le passage à la ligne
fonctionne bien car j'avais mis "12" donc mon curser n'allait pas plus loin
que "E", maintenant c'est good Merci, as tu vu autre chose que je pourrais
améliorer ?
"lSteph" a écrit dans le message de news:

Re,

voilà ce que je peux voir a priori

Pour la feuille SaisieAt c'est l'ancien code donc normal cela ne va
pas à la ligne...
mais passe bien d'une colonne à l'autre
Pour la feuile Saisie j'aurais mis <13 si tu veux pouvoir saisir en
colonne12.
mais sur cette feuille D correspond à une formule...

@+

lSteph

On 11 sep, 11:30, "URIANE" wrote:
Bon j'ai dans le lien "http://cjoint.com/?jllEy6hkv3" mis mon tableau mais
il était tellement gros que j'ai supprimé toutes mes feuilles en ne
laissant
que trois feuilles puis qq explications j'espère que ce sera suffisant
pour
que tu puisses regarder ..... MERCI encore je ne le redirais jamais assez
!!
"lSteph" a écrit dans le message de news:

Je me suis sans doute mal exprimé....
;-))
Au contraire ces remerciements sont très vivement appréciés!!

(s'il excede 500k je crois cela ne passe plus ... faudrait zipper)

--
lSteph

On 11 sep, 10:29, "URIANE" wrote:

Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais
quand
je




Avatar
LSteph
Bonjour ,

...as tu vu autre chose que je pourrais
améliorer ?


Fais attention depuis quelle feuille pourrait être utilisée la macro qui
efface.

Sinon, différentes choses pas forcément indispensables par rapport au
sujet lui-même mais plus par rapport au style du code,

pour l'essentiel:
----------------
Utiliser option explicit en haut de module (oblige à déclarer chaque
variable) et si on veut en tirer le meilleur on s'astreint à en
préciser le type avec As. Cela améliore la lisibilité du code non
seulement par VBA (rendant l'execution plus fluide) mais aussi permet
pour le concepteur ou le relecteur une vision plus claire des éléments
utilisés.
C'est de plus un excellent exercice pour apprendre à coder en
s'obligeant à savoir ce qu'on fait avec quoi...

Exemple dans ton code:

Sub importation()
Dim i As Long, ligneRecap As Long
'....

(Voir dans l'aide les différents types)
il faut Long pour les lignes sinon
Integer ne couvrirait que partiellement la feuille
Byte lui serait juste suffisant pour les colonnes (256)

pour pinailler:
--------------
En outre (là c'est vraiment du chipotage mais autant être précis)
puisqu'on parle de lignes quitte à devoir écrire 65000
(je sais ce n'est pas de toi) on peut écrire 65536 ce n'est guère plus
fatiguant et correspond au nombre exact de lignes
(au moins de 97 à 2003)

pour finir :
-------------------------
Tout cela pour enchaîner sur le fait que si tu pioches des codes sur ce
forum et les ajoutes à tes projets tu devras presque chaque fois les
adapter,...( nombreux sont ceux qui tartinent sans rien essayer de
comprendre leurs modules de différents codes pas forcément compatibles
les uns avec les autres et reviennent ensuite pour signaler que tiens
c'est bizarre quelquechose ne va pas.)
...alors surtout ces codes essaie de te les accaparer, les maîtriser,
en connaître le fonctionnement ...
C'est ainsi que tu en tirera le meilleur!

AmiCordialement.

lSteph











Oui, tu as raison pour la feuille de "saisie" j'ai mis 13 pour la feuille
saisieAT c'est bon aussi j'ai vu mon erreur, et effectivement dans "saisie"
j'ai colonnes "C", "E", et "L" comme saisie mais le passage à la ligne
fonctionne bien car j'avais mis "12" donc mon curser n'allait pas plus loin
que "E", maintenant c'est good Merci, as tu vu autre chose que je pourrais
améliorer ?
"lSteph" a écrit dans le message de news:

Re,

voilà ce que je peux voir a priori

Pour la feuille SaisieAt c'est l'ancien code donc normal cela ne va
pas à la ligne...
mais passe bien d'une colonne à l'autre
Pour la feuile Saisie j'aurais mis <13 si tu veux pouvoir saisir en
colonne12.
mais sur cette feuille D correspond à une formule...

@+

lSteph

On 11 sep, 11:30, "URIANE" wrote:
Bon j'ai dans le lien "http://cjoint.com/?jllEy6hkv3" mis mon tableau mais
il était tellement gros que j'ai supprimé toutes mes feuilles en ne
laissant
que trois feuilles puis qq explications j'espère que ce sera suffisant
pour
que tu puisses regarder ..... MERCI encore je ne le redirais jamais assez
!!
"lSteph" a écrit dans le message de news:

Je me suis sans doute mal exprimé....
;-))
Au contraire ces remerciements sont très vivement appréciés!!

(s'il excede 500k je crois cela ne passe plus ... faudrait zipper)

--
lSteph

On 11 sep, 10:29, "URIANE" wrote:

Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais
quand
je









Avatar
URIANE
Bonjour et merci pour tes conseils que je vais essayer d'adapter, comme je
l'ai dis lors d'une de mes précédentes questions, EXCEL est on va dire une
re-découverte, cela fais bien 3 ans que je ne l'utilise plus, j'étais à fond
dans Access, donc maintenant je ré-apprends à m'en servir d'une façon plus
complexe ....
Cordialement et probablement à bientôt car je pense encore avoir besoin de
votre aide .....
"LSteph" a écrit dans le message de news:

Bonjour ,

...as tu vu autre chose que je pourrais
améliorer ?


Fais attention depuis quelle feuille pourrait être utilisée la macro qui
efface.

Sinon, différentes choses pas forcément indispensables par rapport au
sujet lui-même mais plus par rapport au style du code,

pour l'essentiel:
----------------
Utiliser option explicit en haut de module (oblige à déclarer chaque
variable) et si on veut en tirer le meilleur on s'astreint à en préciser
le type avec As. Cela améliore la lisibilité du code non seulement par VBA
(rendant l'execution plus fluide) mais aussi permet pour le concepteur ou
le relecteur une vision plus claire des éléments utilisés.
C'est de plus un excellent exercice pour apprendre à coder en s'obligeant
à savoir ce qu'on fait avec quoi...

Exemple dans ton code:

Sub importation()
Dim i As Long, ligneRecap As Long
'....

(Voir dans l'aide les différents types)
il faut Long pour les lignes sinon
Integer ne couvrirait que partiellement la feuille
Byte lui serait juste suffisant pour les colonnes (256)

pour pinailler:
--------------
En outre (là c'est vraiment du chipotage mais autant être précis)
puisqu'on parle de lignes quitte à devoir écrire 65000
(je sais ce n'est pas de toi) on peut écrire 65536 ce n'est guère plus
fatiguant et correspond au nombre exact de lignes
(au moins de 97 à 2003)

pour finir :
-------------------------
Tout cela pour enchaîner sur le fait que si tu pioches des codes sur ce
forum et les ajoutes à tes projets tu devras presque chaque fois les
adapter,...( nombreux sont ceux qui tartinent sans rien essayer de
comprendre leurs modules de différents codes pas forcément compatibles les
uns avec les autres et reviennent ensuite pour signaler que tiens c'est
bizarre quelquechose ne va pas.)
...alors surtout ces codes essaie de te les accaparer, les maîtriser, en
connaître le fonctionnement ...
C'est ainsi que tu en tirera le meilleur!

AmiCordialement.

lSteph











Oui, tu as raison pour la feuille de "saisie" j'ai mis 13 pour la feuille
saisieAT c'est bon aussi j'ai vu mon erreur, et effectivement dans
"saisie" j'ai colonnes "C", "E", et "L" comme saisie mais le passage à la
ligne fonctionne bien car j'avais mis "12" donc mon curser n'allait pas
plus loin que "E", maintenant c'est good Merci, as tu vu autre chose que
je pourrais améliorer ?
"lSteph" a écrit dans le message de news:

Re,

voilà ce que je peux voir a priori

Pour la feuille SaisieAt c'est l'ancien code donc normal cela ne va
pas à la ligne...
mais passe bien d'une colonne à l'autre
Pour la feuile Saisie j'aurais mis <13 si tu veux pouvoir saisir en
colonne12.
mais sur cette feuille D correspond à une formule...

@+

lSteph

On 11 sep, 11:30, "URIANE" wrote:
Bon j'ai dans le lien "http://cjoint.com/?jllEy6hkv3" mis mon tableau
mais
il était tellement gros que j'ai supprimé toutes mes feuilles en ne
laissant
que trois feuilles puis qq explications j'espère que ce sera suffisant
pour
que tu puisses regarder ..... MERCI encore je ne le redirais jamais
assez !!
"lSteph" a écrit dans le message de news:

Je me suis sans doute mal exprimé....
;-))
Au contraire ces remerciements sont très vivement appréciés!!

(s'il excede 500k je crois cela ne passe plus ... faudrait zipper)

--
lSteph

On 11 sep, 10:29, "URIANE" wrote:

Bonjour Step
Non mes remerciements ne sont pas "appuyés" seulement sincères mais
quand
je