MACRO/EXCEL: Quel est cellule précédente?
Résolu
OctetPlus
Messages postés
41
Date d'inscription
dimanche 11 septembre 2005
Statut
Membre
Dernière intervention
27 août 2007
-
11 févr. 2007 à 20:44
jj - 13 août 2009 à 14:51
jj - 13 août 2009 à 14:51
A voir également:
- MACRO/EXCEL: Quel est cellule précédente?
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si et excel - Guide
7 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
11 févr. 2007 à 23:20
11 févr. 2007 à 23:20
Bonsoir,
la cellule que tu as modifiée est TARGET.
c'est donc avec elle que tu dois travailler et pas activecell.offset(....)
Ma valeur est un chiffre Expotenciel à la -65 et que la ligne qui suit contient la bonne valeur.
Qu'est-ce que ça veux dire?
Comme vous pouvez voir je tiens compte seulement que la cellule active est en dessous de celle que je viens de modifier.
Pas vraiment, en fait tu considères que la cellule modifiée est celle au dessus de la cellule active
pour finir, ta variable Vide, d'où sort-elle?
cordialement
la cellule que tu as modifiée est TARGET.
c'est donc avec elle que tu dois travailler et pas activecell.offset(....)
Ma valeur est un chiffre Expotenciel à la -65 et que la ligne qui suit contient la bonne valeur.
Qu'est-ce que ça veux dire?
Comme vous pouvez voir je tiens compte seulement que la cellule active est en dessous de celle que je viens de modifier.
Pas vraiment, en fait tu considères que la cellule modifiée est celle au dessus de la cellule active
pour finir, ta variable Vide, d'où sort-elle?
cordialement
OctetPlus
Messages postés
41
Date d'inscription
dimanche 11 septembre 2005
Statut
Membre
Dernière intervention
27 août 2007
8
13 févr. 2007 à 16:29
13 févr. 2007 à 16:29
Merci,
Ma variable Vide est pour vérifier s'il y a quelque chose dans la cellule. Peut importe sa nature. Donc Vide n'est pas initialisé alors elle peut prendre n'importe quel valeur, humm.. Je crois que j'ai une erreur là!
La variable TARGET est la valeur de la cellule où je suis présentement. C'est la la nouvelle cellule ou je me suis déplacer. Mais moi je cherche à avoir de l'information sur la dernière cellule modifier. Et c'est celle là que je le plus de diffilculté.
Merci
OctetPlus
Ma variable Vide est pour vérifier s'il y a quelque chose dans la cellule. Peut importe sa nature. Donc Vide n'est pas initialisé alors elle peut prendre n'importe quel valeur, humm.. Je crois que j'ai une erreur là!
La variable TARGET est la valeur de la cellule où je suis présentement. C'est la la nouvelle cellule ou je me suis déplacer. Mais moi je cherche à avoir de l'information sur la dernière cellule modifier. Et c'est celle là que je le plus de diffilculté.
Merci
OctetPlus
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
13 févr. 2007 à 18:59
13 févr. 2007 à 18:59
Bonsoir,
c'est avec Private Sub Worksheet_SelectionChange(ByVal Target As Range) que target représente la cellule d'atterrissage
avec Private Sub Worksheet_Change(ByVal Target As Range), target représente la cellule qui vien d'être modifiée.
pour être encore plus précis, si tu tapes toto dans la cellule A10 et que tu cliques dans la cellule Z1, target vaudra l'adresse A10
A+
c'est avec Private Sub Worksheet_SelectionChange(ByVal Target As Range) que target représente la cellule d'atterrissage
avec Private Sub Worksheet_Change(ByVal Target As Range), target représente la cellule qui vien d'être modifiée.
pour être encore plus précis, si tu tapes toto dans la cellule A10 et que tu cliques dans la cellule Z1, target vaudra l'adresse A10
A+
OctetPlus
Messages postés
41
Date d'inscription
dimanche 11 septembre 2005
Statut
Membre
Dernière intervention
27 août 2007
8
25 févr. 2007 à 13:28
25 févr. 2007 à 13:28
Bonjour,
Quel est le meilleur moyen de vérifier si la cellule est vide (qu'il n'y a pas de valeur)
Jusqu'à présent, je suis rendu à ça:
Mais EstVide et ESTNUM ne sont pas reconnue!
Quel autre solution me proposez-vous?
Merci beaucoup de votre aide, c'est très apprécier.
Octet Plus
Quel est le meilleur moyen de vérifier si la cellule est vide (qu'il n'y a pas de valeur)
Jusqu'à présent, je suis rendu à ça:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Interior.ColorIndex = 34 Then If EstVide(Target.Offset(-1, 0)) Then If ESTNUM(Target.Value) Then Target.Value = Target.Value / 2 Target.Offset(-1, 0).Value = Target.Value End If End If End If End Sub
Mais EstVide et ESTNUM ne sont pas reconnue!
Quel autre solution me proposez-vous?
Merci beaucoup de votre aide, c'est très apprécier.
Octet Plus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OctetPlus
Messages postés
41
Date d'inscription
dimanche 11 septembre 2005
Statut
Membre
Dernière intervention
27 août 2007
8
25 févr. 2007 à 15:06
25 févr. 2007 à 15:06
Enfin, j'ai travaillé très fort et voilà ça fonctionne maintenant.
La technique est que je change la cellule du gauche de la cellule modifié. Si je prenais la cellule de droite alors il bouclais et toute mes cellules de droite étaient diviser par 2, exemple Cellule A10 change, alors A11 = A10/2, puis A12=A11/2, puis A13=A12/2, etc. Alors que si je change à gauche il s'arrête dès qu'il trouve une valeur.
Merci à tous.
OctetPlus
Private Sub Worksheet_Change(ByVal Target As Range) Dim Valeur As Single If Target.Interior.ColorIndex = 34 Then If IsEmpty(Target.Offset(0, -1)) Then If IsNumeric(Target.Value) Then Valeur = Target.Value / 2 Target.Offset(0, -1).Value = Valeur Target.Value = Valeur End If End If End If End Sub
La technique est que je change la cellule du gauche de la cellule modifié. Si je prenais la cellule de droite alors il bouclais et toute mes cellules de droite étaient diviser par 2, exemple Cellule A10 change, alors A11 = A10/2, puis A12=A11/2, puis A13=A12/2, etc. Alors que si je change à gauche il s'arrête dès qu'il trouve une valeur.
Merci à tous.
OctetPlus
Bonjour,
Pour ne pas tomber dans la récursivité de l'évènement, utilisé :
ou
Lupin
Pour ne pas tomber dans la récursivité de l'évènement, utilisé :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Valeur As Single Application.EnabledEvents = False If Target.Interior.ColorIndex = 34 Then If IsEmpty(Target.Offset(0, -1)) Then If IsNumeric(Target.Value) Then Valeur = Target.Value / 2 Target.Offset(0, -1).Value = Valeur Target.Value = Valeur End If End If End If Application.EnabledEvents = True End Sub
ou
Private Sub Worksheet_Change(ByVal Target As Range) Dim Valeur As Single If Target.Interior.ColorIndex = 34 Then If IsEmpty(Target.Offset(0, -1)) Then If IsNumeric(Target.Value) Then Valeur = Target.Value / 2 Application.EnabledEvents = False Target.Offset(0, -1).Value = Valeur Target.Value = Valeur Application.EnabledEvents = True End If End If End If End Sub
Lupin
Bonjour a tous ;
j'ai un grand problème, car la ou je travail je perdre bcq de temps uniquement pour mettre mon tableau a jours car j'ai chaque fin de semain un tableau d'expédition qui porte bcq d'information Exemple: nom de vendeur, nom de client, nom de produit , prix achat, prix de vente, N° de série, date de sortie date d'arrivier, N° de commande....etc et tout ça sur une sentaine de ligne selon le nombre de produit ( chaque produit est affecter pour un client).
se que je cherche est de créer un macro pour faire la mise a jours automatique c-a-d si il trouve pas de chanchement il dit OK , et si il touver un changement par exemnle dans la date de sortie ou date d'arrivée ou changement d'affectation il le mettre a jour, et aussi il ajoute dans mon tableau les nouveau produit (qui sont commandé)
Pour information: je base ma recherche sur le ID (N° de commande) de chanque produit.
Merci par avance de m'idée car malheureusement je connai pas le Basic.
Cordialement
Coeurs bleu
j'ai un grand problème, car la ou je travail je perdre bcq de temps uniquement pour mettre mon tableau a jours car j'ai chaque fin de semain un tableau d'expédition qui porte bcq d'information Exemple: nom de vendeur, nom de client, nom de produit , prix achat, prix de vente, N° de série, date de sortie date d'arrivier, N° de commande....etc et tout ça sur une sentaine de ligne selon le nombre de produit ( chaque produit est affecter pour un client).
se que je cherche est de créer un macro pour faire la mise a jours automatique c-a-d si il trouve pas de chanchement il dit OK , et si il touver un changement par exemnle dans la date de sortie ou date d'arrivée ou changement d'affectation il le mettre a jour, et aussi il ajoute dans mon tableau les nouveau produit (qui sont commandé)
Pour information: je base ma recherche sur le ID (N° de commande) de chanque produit.
Merci par avance de m'idée car malheureusement je connai pas le Basic.
Cordialement
Coeurs bleu
Bonjour a tous ;
J'ai un grand problème, car la ou je travailLE je perdS bcq de temps uniquement pour mettre mon tableau a jours car j'ai chaque fin de semainE un tableau d'expédition qui porte bcq d'informationS. Exemple: nom de vendeurS, nom de clientS, nom de produitS , prix achat, prix de vente, N° de série, date de sortie date d'arrivEE, N° de commande....etc et tout ça sur une Centaine de ligneS selon le nombre de produitS ( chaque produit est affectE pour un client).
Ce que je cherche est de créer unE macro pour faire la mise a jour automatique c-a-d si ELLE NE trouve pas de chanGements ELLE dit OK , et si ELLE tRouve un changement par exemnle dans la date de sortie ou date d'arrivée ou changement d'affectation ELLE le mettE a jour, et aussi ELLE ajoute dans mon tableau les nouveauX produitS (qui sont commandéS)
Pour information: je base ma recherche sur le ID (N° de commande) de chanque produit.
Merci par avance de m'AideR car malheureusement je connaiS pas le Basic.
Cordialement
Coeurs bleu
J'ai un grand problème, car la ou je travailLE je perdS bcq de temps uniquement pour mettre mon tableau a jours car j'ai chaque fin de semainE un tableau d'expédition qui porte bcq d'informationS. Exemple: nom de vendeurS, nom de clientS, nom de produitS , prix achat, prix de vente, N° de série, date de sortie date d'arrivEE, N° de commande....etc et tout ça sur une Centaine de ligneS selon le nombre de produitS ( chaque produit est affectE pour un client).
Ce que je cherche est de créer unE macro pour faire la mise a jour automatique c-a-d si ELLE NE trouve pas de chanGements ELLE dit OK , et si ELLE tRouve un changement par exemnle dans la date de sortie ou date d'arrivée ou changement d'affectation ELLE le mettE a jour, et aussi ELLE ajoute dans mon tableau les nouveauX produitS (qui sont commandéS)
Pour information: je base ma recherche sur le ID (N° de commande) de chanque produit.
Merci par avance de m'AideR car malheureusement je connaiS pas le Basic.
Cordialement
Coeurs bleu
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 718
23 févr. 2008 à 19:10
23 févr. 2008 à 19:10
bonjour
Coeurbleu n'as-tu pas l'impression de jouer au pique-assiette ?
Ce sujet ne traite pas ton problème alors crée un sujet à toi sinon tu n'auras pas de solution.
Ps : un petit bonjour amical au canadien qui a probablement résolu le souci de OctetPlus
Coeurbleu n'as-tu pas l'impression de jouer au pique-assiette ?
Ce sujet ne traite pas ton problème alors crée un sujet à toi sinon tu n'auras pas de solution.
Ps : un petit bonjour amical au canadien qui a probablement résolu le souci de OctetPlus