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

lire une entrée dans une cellule en VBA

9 réponses
Avatar
Peponne31
Bonsoir à tous,

Excel 2003
Dans une colonne, (F21:F50) J'ai créé par ( Donné, Validation ) une liste de
choix ( u, ml, m2, m3 ) et je voudrais que lorsque je rentre m2 ou bien m3,
une boite s'ouvre en me demandent si je veux calculer des m2 ou bien des m3.
Si oui j'ouvre une feuille dans le classeur (Calcul_m2 ou Calcul_m3 les deux
existent) ou je fais mes calculs ( ça sa fonctionne ) si la réponse est non,
je poursuis dans la cellule suivante. ji ai travaillé pendant 2 jours sans
aucun résultat.
Je vous remercie par avance si quelqu'un peut m'apporter son aide.
Merci
Peponne31

9 réponses

Avatar
francois.forcet
Salut à toi

Mets ce code dans le VBA de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Range("F1").Column And Target.Row > 20 And
Target.Row < 51 Then
If Target = "m2" Or Target = "m3" Then
If MsgBox("Voulez calculer " & Target & " ??", vbYesNo) = vbYes Then
Sheets("Calcul_" & Target).Activate
End If
End If
End If
End Sub

Celà devrait convenir

Dis moi !!!!
Avatar
Peponne31
Bonjour et merci pour ta réponse,

j'ai incorporé ton code dans la page Devis et cela me cré des problèmes.
Je me permet de t'envoyer un bout de fichier qui fonctionne tel quel pour
le mode divis1page avec les 2 feuilles pour le calcul des m2 et m3.
Merci encore de voir si peux essayer de me depanner.
http://cjoint.com/?dAn1amwQIH
Peponne31


Bonsoir à tous,

Excel 2003
Dans une colonne, (F21:F50) J'ai créé par ( Donné, Validation ) une liste de
choix ( u, ml, m2, m3 ) et je voudrais que lorsque je rentre m2 ou bien m3,
une boite s'ouvre en me demandent si je veux calculer des m2 ou bien des m3.
Si oui j'ouvre une feuille dans le classeur (Calcul_m2 ou Calcul_m3 les deux
existent) ou je fais mes calculs ( ça sa fonctionne ) si la réponse est non,
je poursuis dans la cellule suivante. ji ai travaillé pendant 2 jours sans
aucun résultat.
Je vous remercie par avance si quelqu'un peut m'apporter son aide.
Merci
Peponne31


Avatar
francois.forcet
Rebonjours à toi

Dans la recopie la ligne d'instruction :

If Target.Column = Range("F1").Column And Target.Row > 20 And
Target.Row < 51 Then

a été coupée en 2 et s'est retrouvée sur 2 lignes au lieu d'1

D'où ta difficulté

Aprés avoir apporté la correction adéquate celà semble fonctionner
correctement

Sur ce lien ton document modifié

http://www.cijoint.fr/cjlink.php?file=cj200803/cijHau1YuA.xls.

Donnes moi tes impressions !!!!!
Avatar
Peponne31
ReBonjour

je te remercie pour ta diligence et tes compétances ( que j'aimerais avoir)
ça fonctionne et c'est mieux que mon fouillis, je vais l'installer sur mon
classeur pour faire des essais.
PS est-il possible si ce n'est trop demander, de voir sur la feuille
Calcul_m3 comment modifier le code, pour rentrer la réponse sur la ligne ou
se trouve le curseur. Explication, si je saute une ou deux lignes dans devis,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est mis
d'office sur la première ligne, ce qui est un peux génant.
En te remerciant par avance et merci encore.
Peponne31


Rebonjours à toi

Dans la recopie la ligne d'instruction :

If Target.Column = Range("F1").Column And Target.Row > 20 And
Target.Row < 51 Then

a été coupée en 2 et s'est retrouvée sur 2 lignes au lieu d'1

D'où ta difficulté

Aprés avoir apporté la correction adéquate celà semble fonctionner
correctement

Sur ce lien ton document modifié

http://www.cijoint.fr/cjlink.php?file=cj200803/cijHau1YuA.xls.

Donnes moi tes impressions !!!!!



Avatar
francois.forcet
On 26 mar, 19:07, Peponne31
wrote:
ReBonjour

je te remercie pour ta diligence et tes compétances ( que j'aimerais avo ir)
ça fonctionne et c'est mieux que mon fouillis, je vais l'installer sur m on
classeur pour faire des essais.
PS est-il possible si ce n'est trop demander, de voir sur la feuille
Calcul_m3 comment modifier le code, pour rentrer la réponse  sur la li gne ou
se trouve le curseur. Explication, si je saute une ou deux lignes dans dev is,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est mis
d'office sur la première ligne, ce qui est un peux génant.
En te remerciant par avance et merci encore.
Peponne31




Rebonjours à toi

Dans la recopie la ligne d'instruction :

If Target.Column = Range("F1").Column And Target.Row > 20 And
Target.Row < 51 Then

a été coupée en 2 et s'est retrouvée sur 2 lignes au lieu d'1

D'où ta difficulté

Aprés avoir apporté la correction adéquate celà semble fonctionn er
correctement

Sur ce lien ton document modifié

http://www.cijoint.fr/cjlink.php?file=cj200803/cijHau1YuA.xls.

Donnes moi tes impressions !!!!!- Masquer le texte des messages préc édents -


- Afficher le texte des messages précédents -


Rebonjours à toi

sur ce lien ton document modifié pour prendre en compte ta dernière
modification souhaitée :

"si je saute une ou deux lignes dans devis,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est
mis
d'office sur la première ligne, ce qui est un peux génant."

http://www.cijoint.fr/cjlink.php?file=cj200803/cijIBDIB0F.xls.

Donne moi ton avis !!!!


Avatar
Peponne31
Bonsoir,

Je n'ai pas répondu + tot, je ne pouvais pas entrer mon mot de passe. je me
suis permis de t'envoyer un message sur ton adresse Email pour te remercier.
Juste que, pour les m3 ça fonctionne mais pas pour les m2.
je te remercie encore.
Peponne31


On 26 mar, 19:07, Peponne31
wrote:
ReBonjour

je te remercie pour ta diligence et tes compétances ( que j'aimerais avoir)
ça fonctionne et c'est mieux que mon fouillis, je vais l'installer sur mon
classeur pour faire des essais.
PS est-il possible si ce n'est trop demander, de voir sur la feuille
Calcul_m3 comment modifier le code, pour rentrer la réponse sur la ligne ou
se trouve le curseur. Explication, si je saute une ou deux lignes dans devis,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est mis
d'office sur la première ligne, ce qui est un peux génant.
En te remerciant par avance et merci encore.
Peponne31




Rebonjours à toi

Dans la recopie la ligne d'instruction :

If Target.Column = Range("F1").Column And Target.Row > 20 And
Target.Row < 51 Then

a été coupée en 2 et s'est retrouvée sur 2 lignes au lieu d'1

D'où ta difficulté

Aprés avoir apporté la correction adéquate celà semble fonctionner
correctement

Sur ce lien ton document modifié

http://www.cijoint.fr/cjlink.php?file=cj200803/cijHau1YuA.xls.

Donnes moi tes impressions !!!!!- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Rebonjours à toi

sur ce lien ton document modifié pour prendre en compte ta dernière
modification souhaitée :

"si je saute une ou deux lignes dans devis,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est
mis
d'office sur la première ligne, ce qui est un peux génant."

http://www.cijoint.fr/cjlink.php?file=cj200803/cijIBDIB0F.xls.

Donne moi ton avis !!!!






Avatar
Peponne31
Re

M3 et m2 ça fonctionne
Merci beaucoup.
PS me serait_il possible de faire appel à toi si j'ai besoin ?
Bonne soirée sur le forum.
Peponne31


On 26 mar, 19:07, Peponne31
wrote:
ReBonjour

je te remercie pour ta diligence et tes compétances ( que j'aimerais avoir)
ça fonctionne et c'est mieux que mon fouillis, je vais l'installer sur mon
classeur pour faire des essais.
PS est-il possible si ce n'est trop demander, de voir sur la feuille
Calcul_m3 comment modifier le code, pour rentrer la réponse sur la ligne ou
se trouve le curseur. Explication, si je saute une ou deux lignes dans devis,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est mis
d'office sur la première ligne, ce qui est un peux génant.
En te remerciant par avance et merci encore.
Peponne31




Rebonjours à toi

Dans la recopie la ligne d'instruction :

If Target.Column = Range("F1").Column And Target.Row > 20 And
Target.Row < 51 Then

a été coupée en 2 et s'est retrouvée sur 2 lignes au lieu d'1

D'où ta difficulté

Aprés avoir apporté la correction adéquate celà semble fonctionner
correctement

Sur ce lien ton document modifié

http://www.cijoint.fr/cjlink.php?file=cj200803/cijHau1YuA.xls.

Donnes moi tes impressions !!!!!- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Rebonjours à toi

sur ce lien ton document modifié pour prendre en compte ta dernière
modification souhaitée :

"si je saute une ou deux lignes dans devis,
lorsque je fais un calcul dans la feuille Calcul_m3 le résultat est
mis
d'office sur la première ligne, ce qui est un peux génant."

http://www.cijoint.fr/cjlink.php?file=cj200803/cijIBDIB0F.xls.

Donne moi ton avis !!!!






Avatar
francois.forcet
Rebonjours à toi

Tu peux trés bien me solliciter pour une aide éventuelle
Il est préférable de passer par le forum pour bénéficier de l'ensemb le
des contributeurs
Ils ont chacun des solutions différentes toutes aussi valables les
unes que les autres
Et ce que l'un ne peut t'apporter un autre s'en chargera
C'est l'avantage de ces échanges
De plus je ne serais pas toujours disponible à te répondre et n'ai pas
toutes les compétences requises pour faire face à toute situation
exposée
J'apporte mon aide tout autant que j'apprends
Enfin les solutions que tu sollicites si tu en es le principale
bénéficiaire tu en es pas le seul
plétore de lecteurs pourront en tirer profit pour leur propre besoin
d'où l'importance de nourrir ce forum
Je reste je te rassure tout dévoué à ta cause comme à celle des autr es
dans la mesure de mes humbles moyens

A bientôt sans doute
Avatar
Peponne31
Bonjour

Toujours besoin de ton aide pour me dépatouiller,
une fois incorporer dans le programme initial, j'ai une erreur ( Nom ambigu
détecté : Worksheet_Change ) est-il possible d'imbriquer ta formule avec
celle qui pose problème ?
Voici ta formule

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Range("F1").Column And Target.Row > 20 And Target.Row <
51 Then
If Target = "m2" Or Target = "m3" Then
If MsgBox("Voulez calculer " & Target & " ??", vbYesNo) = vbYes Then
Sheets("Calcul_" & Target).Activate
End If
End If
End If
End Sub

et la formule en question,
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address <> "$J$6" Then Exit Sub
ValideSaisie
End Sub

Toutes 2 dans la page Devis1page.
Encore une fois merci
Peponne31

Rebonjours à toi

Tu peux trés bien me solliciter pour une aide éventuelle
Il est préférable de passer par le forum pour bénéficier de l'ensemble
des contributeurs
Ils ont chacun des solutions différentes toutes aussi valables les
unes que les autres
Et ce que l'un ne peut t'apporter un autre s'en chargera
C'est l'avantage de ces échanges
De plus je ne serais pas toujours disponible à te répondre et n'ai pas
toutes les compétences requises pour faire face à toute situation
exposée
J'apporte mon aide tout autant que j'apprends
Enfin les solutions que tu sollicites si tu en es le principale
bénéficiaire tu en es pas le seul
plétore de lecteurs pourront en tirer profit pour leur propre besoin
d'où l'importance de nourrir ce forum
Je reste je te rassure tout dévoué à ta cause comme à celle des autres
dans la mesure de mes humbles moyens

A bientôt sans doute