Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1264 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel ajouter une nouvelle ligne automatiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel ajouter une nouvelle ligne automatiquement

n°1311110
michelexce​l
Posté le 22-02-2006 à 00:36:29  profilanswer
 

Sujet: Excel, Ligne automatique
 
Bonjour à tous. Voici mon probleme:
J'ai une feuille FACTURE avec les champs Code_client, Qte,Prix par exemple.
Je voudrais copier ces valeurs sur une ligne dans une autre feuille RAPPORTS.  
 
Et si je fais une nouvelle facture, je voudrais que les nouvelles valeurs s'ajoutent dans Rapport sur la ligne suivante. Comment faire pour pouvoir ajouter cette nouvelle ligne automatiquement et que les valeurs s'y inscrivent
Merci

mood
Publicité
Posté le 22-02-2006 à 00:36:29  profilanswer
 

n°1311127
galopin01
Posté le 22-02-2006 à 04:08:23  profilanswer
 

bonjour,
La macro suivante copie la plage "A1:E5" sur la première ligne libre de "Facture" :

Code :
  1. Sub Test()
  2. i = Sheets("Rapport" ).Cells(65535, 1).End(xlUp).Row
  3. Sheets("Facture" ).Range("A5:E5" ).Copy Sheets("Rapport" ).Range("A" & i + 1)
  4. End Sub


Ok ?


---------------
roger
n°1313997
michelexce​l
Posté le 27-02-2006 à 00:44:52  profilanswer
 

merci beaucoup pour ton aide. Je vais le tester demain et je t'en donne des nouvelles
Merci
Michel

n°1314623
michelexce​l
Posté le 27-02-2006 à 17:41:38  profilanswer
 

Helas cela ne fonctionne pas. J'ai le message suivant de VBA "Erreur d'exécution "9" , L'indice n'appartient pas à la sélection ''
Voici la macro que j'utilise présentement:
' copyall Macro
' Macro enregistrée le 2006-02-26 par Michel
'
    Sheets("transition" ).Select ' on choisit la feuille "transition"
    Range("A2:F2" ).Select 'on select les cellules A2 à F2
    Range("F2" ).Activate
    Selection.Copy
    Sheets("rapports" ).Select
    Range("a2:F2" ).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, transpose:=False
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("C3" ), Order1:=xlDescending, Key2:=Range("B3" ) _
        , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
    Range("A9" ).Select   '// Ici il faut trouver la formule pour placer curseur à première ligne vide  
'// pour de nouvelles données (cumuler les données)
'
End Sub
 
Si tu as d'autres idées cela pourrait m'aider
Merci beaucoup

n°1314751
galopin01
Posté le 27-02-2006 à 19:45:32  profilanswer
 

bonsoir,
j'avais pas capté pour la collage spécial :

Code :
  1. Sub Test()
  2.     i = Sheets("Rapports" ).Cells(65535, 1).End(xlUp).Row
  3.     Sheets("transition" ).Range("A2:F2" ).Copy
  4.     Sheets("Rapports" ).Range("A" & i + 1).PasteSpecial Paste:=xlValues
  5.     Application.CutCopyMode = False
  6.     ' Cette macro ne fait aucune sélection et n'active rien
  7.     ' A toi de faire ton tri ensuite...
  8.     ' Sur cette ligne tu pourrais appeler une sous macro  : Tri
  9. End Sub


Par exemple :

Code :
  1. Sub Tri()
  2.     Sheets("rapports" ).Range("blabla" ).Select
  3.     Selection.Sort Key1:=Range("C3" ), Order1:=xlDescending, Key2:=Range("B3" ) _
  4.         , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
  5.         False, Orientation:=xlTopToBottom
  6. End Sub


A+


Message édité par galopin01 le 27-02-2006 à 19:49:44

---------------
roger
n°1314820
michelexce​l
Posté le 27-02-2006 à 21:11:12  profilanswer
 

Merci beaucoup pour ton aide. Je vais faire le test tantôt
et j'espère que ça va fonctionner et je te reviendrai.
Encore une fois merci

n°1314821
michelexce​l
Posté le 27-02-2006 à 21:11:12  profilanswer
 

Merci beaucoup pour ton aide. Je vais faire le test tantôt
et j'espère que ça va fonctionner et je te reviendrai.
Encore une fois merci

n°1314832
michelexce​l
Posté le 27-02-2006 à 21:32:54  profilanswer
 

Salut CHAMPION !Oui ça fonctionne super bien. Je suis vraiment
content car depuis plus d'une semaine que je travaille sur ce fameux code. J'ai tout tenté mais le plus loin que j'allais était  
de pouvoir coller les valeurs sur une même ligne mais impossible de coller de nouvelles valeurs sur la ligne suivante. Mon code écrasait tout simplement la première ligne donc c'était impossible d'avoir un cumul des factures. Mais avec ton code ça fonctionne exactement comme je le voulais.
Encore une fois un gros Merci pour ton aide, je l'apprécie beaucoup.
Bonne fin de soirée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel ajouter une nouvelle ligne automatiquement

 

Sujets relatifs
PB excecution d'une ligne de commande DOSouvrir dans Excel un tableau html crée en PHP
Commerce en ligne : recevoir un paiementgénérer automatiquement un répertoire
Lire un fichier ExcelOutils de catalogue en ligne
[C# - GDI] Rendre une suite de ligne transparente[Ant] Rajouter une ligne en en-tete dans un fichier
Forcer Excel à me reconnaître[Excel][VBA][ODBC] Connexion SQL Server
Plus de sujets relatifs à : Excel ajouter une nouvelle ligne automatiquement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR