End Bas et Haut ne fonctionnent pas sur mon PC

Bonjour toutes et tous,

j'utilisais depuis longtemps cette méthode, flèche bas ou flèche haut, mais je ne trouve plus la fonction dans les options qui me permettait cela

Quelqu'un peut m'aider, c'est pour un ami expatrié en Réunion

Amitiés

Pierrot

Je joins mon fichier

Bonjour Pierre

Je ne comprends pas trop ta demande.

Merci d'expliquer ce qui est recherché

Cordialement

Bonjour,

Si c'est pour se déplacer dans la feuille, c'est la touche Ctrl+[flèches, origine, fin].

Ou y a-t-il quelque chose à faire sur le fichier ?

Cordialement.

Bonjour, Dan, MFerrand

il n'y a rien à faire sur le fichier, je sais à quoi servent les flèches haut et bas combinées avec la touche end

mon problème c'est que ces fonctions ne fonctionnent pas sur mon PC j'ai consulter les options mais je ne vois pas quoi modifier ?

Amicalement

Pierrot

je veux coller des données de la feuille Commande vers la feuille1, et pour coller ces données les unes sous les autres j'utilise les flèches end et haut pour remonter jusqu'à la dernière ligne remplie, je descends de 2 lignes et je colle les valeurs pour éviter les formules.

Ce qui ne fonctionne plus ce sont les flèches haut et bas

alors que sur d'autres fichiers, cela marche bien

mes lignes de code

Sub Copier()
Range("A60000").Select    
    Selection.End(xlUp).Select    ' ne fonctionne pas
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

et retourne sur la feuille commande

Merci de votre aide

Pierrot

Re

essaie comme ceci :

Sub Copier()
Dim dlg As Integer
dlg = Sheets("Feuil1").Range("A" & Sheets("Feuil1").Rows.Count).End(xlUp).Row + 2
MsgBox dlg
With Sheets("Commande")
    .Range("A1:F" & .Range("A" & .Rows.Count).End(xlUp).Row).Copy
    Sheets("Feuil1").Range("A" & dlg).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End With
End Sub

Crdlt

Merci Dan cela marche du tonnerre

c'est astucieux le N° de ligne où sont collées les données

est-il possible de garder une trace de cette information pour un repérage ultérieur en collaboration avec le N° Ticket du client

un tout grand merci pour ton aide

Amitiés

Pierrot

Bonjour, Dan,

J'ai clôturé trop tôt ce fichier.

pourrais-tu modifier ce code afin qu'il me donne le N° Ticket

de la fiche ("E23")Feuille Commande actuellement au format " 000025 "

après la copie, ce format devient "Monétaire", genre 25 €.00

Dans la feuille "Sauvetage"

merci de bien vouloir m'aider encore une fois

Amitiés

Pierrot

 Sub Copier()
    Dim dlg As Integer
     MsgBox "Avez-vous actualiser le N° TK Client"

    dlg = Sheets("Sauvegarde").Range("A" & Sheets("Sauvegarde").Rows.Count).End(xlUp).Row + 2
    MsgBox dlg
    With Sheets("Commande")
        .Range("A1:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Copy
        Sheets("Sauvegarde").Range("A" & dlg).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     ActiveCell.Range("A1").Select
'***********Modif ***Le N° ticket s'affiche au format monétaire et je souhaite un format personnalisé
'                         : 0000025 comme sur la fiche client
  ActiveCell.Offset(22, 4).Range("A1").Select
    Selection.NumberFormat = "000000"
    ActiveCell.Offset(1, 0).Range("A1").Select

  ' *****************Fin de modif

    End With                      'Efface les données précédentes
    Sheets("Commande").Select
    Range("A1").Select
        ActiveCell.Range("A2:B24").Select
    Selection.ClearContents
    Range("E13").Select
    Selection.ClearContents
    ActiveCell.Range("A1").Select

    End Sub

Re

Désolé pour le retour tardif....

Essaie comme ceci :

Sub Copier()
Dim dlg As Integer
MsgBox "Avez-vous actualiser le N° TK Client"
dlg = Sheets("Sauvegarde").Range("A" & Sheets("Sauvegarde").Rows.Count).End(xlUp).Row + 2
With Sheets("Commande")
   .Range("A1:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Copy
   Sheets("Sauvegarde").Range("A" & dlg).PasteSpecial Paste:=xlPasteValues
   Sheets("Sauvegarde").Range("E" & dlg + 22).NumberFormat = "000000"
    .Range("A2:B24").ClearContents
    .Range("E13").ClearContents
End With
End Sub

Amicalement

Dan,

Pour ton code copier, c'est le même que moi

dans le mien, je supprime les lignes vides.

c'est parfait, merci beaucoup

pendant que je te tiens, veux-tu jeter un œil sur mon programme joint précédemment

dans la feuille "Articles", en colonne H j'ai une formule qui reçoit la valeur du stock de la feuille "Commande"colonne B

dans cette même feuille "articles", dans le module de la feuille

quand la valeur colonne H, change, une macro s'exécute et me copie cette valeur en colonne I avec addition, mais ces données ne restent pas à chaque nouvelles opérations, les données disparaissent. peux-tu faire quelque chose pour ce problème ? sinon j'exécute la macro manuellement

car elle fonctionne bien

Amitiés

Pierrot

Re

Pour ton code copier, c'est le même que moi

dans le mien, je supprime les lignes vides.

Ce n'est pas ce que je vois dans le fichier que tu as joint. La macro est différente

dans la feuille "Articles", en colonne H j'ai une formule qui reçoit la valeur du stock de la feuille "Commande"colonne B

dans cette même feuille "articles", dans le module de la feuille

quand la valeur colonne H, change, une macro s'exécute et me copie cette valeur en colonne I avec addition, mais ces données ne restent pas à chaque nouvelles opérations, les données disparaissent. peux-tu faire quelque chose pour ce problème ? sinon j'exécute la macro manuellement car elle fonctionne bien,

Quelle est la macro qui s'exécute ?

Je ne vois pas de formule en colonne H dans la feuille Articles mais bien en colonne E

Amicalement

Dan,

dans le code de la feuille "Articles", il y a une macro "Copie_Valeur, qui doit s'exécuter à chaque changement dans la

colonne H, le nouveau stock.

Voici ce code

Sub Copie_Valeur()
'
' Copie_Valeur Macro
'
   With Sheets("Articles")
       .Range("H1:H" & .Range("H" & .Rows.Count).End(xlUp).Row).Select

    Selection.Copy
    ActiveCell.Offset(0, 1).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
        :=False, Transpose:=False
    ActiveCell.Offset(1, 0).Range("A1").Select
    Application.CutCopyMode = False
End With
End Sub

ce code ne s'exécute que manuellement c'est là qu'est mon problème

il doit copier la valeur et la coller avec Addition. dans la colonne I, manuellement, ça marche mais dès la valeur suivante, la valeur précédente est disparue

mon correspondant Belge sur l'Ile de la réunion vient de m’annoncer que sa femme le quittait, alors pour son programme il n'a plus beaucoup d'idées, en d'autres mots, il s'en fout

Alors ne te tracasses pas trop la tête

Merci pour toute ton aide

Amitiés

Pierrot

Re,

Il faudrait que cette macro copier valeur ne puisse être excitée que lors de l'impression du ticket car en cas d'erreur le stock ne sera plus correct

Exemple :

imagine que tu te trompes sur la quantité en colonne B et que tu modifies... si le code est exécuté automatiquement le stock sera débité deux fois.

Le mieux serait que cette macro soi exécutée en même temps que l'impression du ticket ou lors de la sauvegarde du fichier

Ton avis sur ce point ?

Amicalement

Bonjour, Dan,

Ton idée est excellente, pourrait-on ajouter le code de

cette macro copier valeur en bas de la macro qui sauvegarde la fiche stock que tu as créé ?

merci de ton aide je te joins la dernière version du fichier

Amitiés

Pierrot

Re

Dans la macro Copier, mets cette instruction --> CALL maj_Stock

Dans le module 3, colle le code ci-dessous

Sub maj_Stock()
Dim lg As Integer
Dim i As Byte
With Sheets("Commande")
    For i = 2 To 25
        If .Range("A" & i) = "" Then Exit For
        lg = WorksheetFunction.Match(Range("A" & i).Value, Sheets("Articles").Range("A1:A" & Sheets("Articles").Range("A" & Sheets("Articles").Rows.Count).End(xlUp).Row), 0)
        Sheets("Articles").Range("I" & lg) = Sheets("Articles").Range("I" & lg) + Sheets("Articles").Range("H" & lg)
    Next
End With
End Sub

Dans l'attente de te relire

Amicalement

Dan,

j'ai coller les lignes de code dans mes modules et les macros fonctionnent

Dans la feuille "Articles", la valeur vendue s'affiche bien

mais si je cumule une 2ème vente, le total n'est pas cumulé

Merci pour le boulot que tu fais

Amitiés

Pierrot

re

mais si je cumule une 2ème vente, le total n'est pas cumulé

pas compris là ...

Tu as bien placé l'instruction CALL maj_stock dans le code relatif à la sauvegarde ?

Amicalement

Oui, Dan, j'ai placé cette ligne de code en bas de la procédure

Sauver.

Quand je parle de cumuler, je pense additionner les ventes d'un même article, comme j'avais fais avec le code "Copier les valeurs .

Merci,

Pierrot

re

Il faut la placer juste avant --> With Sheets("Commande")

Enlever aussi l'instruction MSGBOX dg (cela ne sert à rien et va faire apparier une boite à message à chaque exécution

Maintenant, il a un truc bizarre car je vois aussi le code Copier2, cela fait double emploi, non ?

Le code copier valeur ne sert plus, je pense... puisque c'est ton bouton Sauvegarde qui fera le travail

Amicalement

Voilà Dan,

j'ai suivi tes instructions,

Lorsque je valide 5 bières, le total en colonne H Affiche 7.50 €

ensuite , je refais la même opération, et le résultat est toujours 7.50 €

Alors que cela devrait afficher 15.00 €

Merci pour ton aide,

Pierrot

Rechercher des sujets similaires à "end bas haut fonctionnent pas mon"