Position de la cellule active.

Igor

XLDnaute Nouveau
Bonjour a tous,

J'utilise un fichier Excel pour préparer des bons de commandes.

A l'aide d'un scanner de code barre (une "douchette") je scan le code barre d'un article afin de retrouver grâce à une formule de RECHERCHEV son code et sa désignation.

Le paramétrage de ma douchette que je ne peux / ne veux pas changer valide automatiquement à la fin de la lecture du code barre. Donc après scannage la cellule active se situe immédiatement sous la cellule ou j'ai scanné le code barre.

Je souhaiterai qu'après avoir scanné un code barre la cellule active soit située 4 cellules à gauche sur la même ligne....

...... et je n'y arrive pas.

Merci d'avance pour vos idées


Igor
 

Lolote83

XLDnaute Barbatruc
Re : Position de la cellule active.

Salut IGOR,
Sans fichier ????
Peut être avec se bout de code :
Code:
ActiveCell.Offset(-1, -4).Select
La valeur -1 correspond à -1 ligne par rapport à la position actuelle de ta cellule
La valeur -4 correspond à -4 colonnes par rapport à la position actuelle de ta cellule
@+ Lolote83
 

Igor

XLDnaute Nouveau
Re : Position de la cellule active.

Lolote,

Avec le pièce jointe c'est toujours mieux. :)

Soyons précis: Je scanne le code barre en B8 et je souhaiterai qu'ensuite la nouvelle cellule active soit en F8.

Pour aller plus loin dans ma demande, il faudrait que la cellule active se positionne en Fx à chaque fois que je scanne en Bx.

Le fichier comporte déjà plusieurs macros (pour l'impression, l'enregistrement et la sauvegarde et la duplication des lignes en cas de saisie d'une quantité en Dx) ainsi que quelques formules.....



Merci pour ta aide


Igor
 

Pièces jointes

  • Bon de saisie IMEI.xlsm
    68.8 KB · Affichages: 45
  • Bon de saisie IMEI.xlsm
    68.8 KB · Affichages: 111
  • Bon de saisie IMEI.xlsm
    68.8 KB · Affichages: 112

Paf

XLDnaute Barbatruc
Re : Position de la cellule active.

Bonjour à tous

En supposant que l'utilisation de la douchette va bien déclencher l'évènement Change de la feuille, peut-être en rajoutant en début de Private Sub Worksheet_Change(ByVal Target As Range) (avant le code déjà existant) :

Code:
If Target.Column = 2 And Target.Row > 7 Then
    Cells(Target.Row, 6).Select
End If

non testé

A+
 

Igor

XLDnaute Nouveau
Re : Position de la cellule active.

Apres des semaines d'usages sans aucun problème de ces quelques lignes de code

"Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 2 And Target.Row > 7 Then
Cells(Target.Row, 6).Select
End If"

J'ai ajouté à mon fichier

"If Target.Column = 6 And Target.Row > 7 Then
Cells(Target.Row, 2).Select
End If"

afin que la cellule active revienne en colonne B. Il reste un détail à régler, je souhaiterai que la cellule active soit une ligne en dessous.

Formulé autrement: quand je scanne avec ma "douchette" code barre un article en B4 la prochaine cellule active sera en F4 afin que je scanne mon n°de série. Avec mon ajout, après scannage du n° de série la cellule active revient en B4, j'aimerai que cela soit en B5.

Merci de votre aide.


Igor
 

Igor

XLDnaute Nouveau
Re : Position de la cellule active.

Je poursuis dans l'évolution de mon bon de saisie Excel:

j'aimerai que ce bout de code ne s'applique que si la colonne D est vide.

If Target.Column = 6 And Target.Row > 7 Then
Cells(Target.Row + 1, 2).Select

Merci d'avance pour vos (brillantes) idées


Igor
 

Igor

XLDnaute Nouveau
Re : Position de la cellule active.

Eric,

J'ai testé les 2 lignes avec le même résultat: cela fonctionne bien une première fois mais une seconde saisie dans la colonne F renvoi vers la colonne B.

Quelques infos supplémentaires et le fichier joint pour tout rendre plus concret.

C'est un bon de saisie pour préparer des commandes de téléphones portable.

Apres avoir remplis le haut du tableau le gestionnaire de stock scan le code barre (EAN) du téléphone en B8. Le produit est identifié grâce à une formule RECHERCHEV et la cellule active passe automatiquement en F8. Le gestionnaire scan ensuite le numéro de série du téléphone et la cellule active passe en B9. C'est parfait si la commande comporte plusieurs téléphones diffèrent en 1 seul exemplaire à chaque fois (ce qui correspond à la majorité des cas).

Si il y à plusieurs quantité d'un même téléphone il est possible de renseigner un nombre de quantités dans la colonne D, une macro duplique alors les lignes en fonction du nombre saisie. Dans ce cas le gestionnaire n'a plus qu'à scanner les numéros de série les uns à la suite des autres. C'est dans ce cas ou il faut "neutraliser" la macro qui renvoi de Fx vers Bx.

J'espère être assez clair.

Merci pour votre investissement


Igor
 

Pièces jointes

  • Bon de saisie IMEI.xlsm
    76 KB · Affichages: 30
  • Bon de saisie IMEI.xlsm
    76 KB · Affichages: 29
  • Bon de saisie IMEI.xlsm
    76 KB · Affichages: 41

ERIC S

XLDnaute Barbatruc
Re : Position de la cellule active.

Re

si j'ai bien compris (non testé)


If Target.Column = 6 And Target.Row > 7 Then
If Cells(Target.Row + 1, 2) = "" Then
Cells(Target.Row + 1, 2).Select
Else
Cells(Target.Row + 1, 6).Select
End If
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07