Bonjour et merci par avance de l'aide que vous pourrez m'apporter.
Je commence tout juste à explorer le code VB par l'intermédiaire d'Excel et je m'excuse par avance si ma questions est très basique et sa solution surement très simple.
J'ai cherché sur les anciens post, j'y ai trouvé quelques éléments de réponse mais je suis pas encore au point quand à appréhender tout un code pour l'adapter malgré une certaine rigueure.
J'utilise un classeur Excel2003 composé de deux feuilles.
La première est un listing d'articles avec en colonnes (A, H) différentes caractéristiques dont un prix unitaire. La colonne I est destinée à une quantité à remplir manuellement.
La seconde feuille est destinée à l'impression avec une mise en page qui serait automatique.
Quand une quantité est entrée dans la colonne I de la feuille 1, la ligne est copiée vers la feuille 2 grâce au code suivant :
Sub copiedeligne()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Feuil2").Activate ' feuille de destination
Col = "I" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Feuil1") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
End With
End Sub
Jusque là tout fonctionne mais j'aimerais sur ma feuille 2 en colonne J, et pour chaque ligne, insérer une fonction Produit (Prix unitaire X Quantité).
Seulement cette fonction disparait de ma colonne vu que la ligne entière est copiée. J'ai fait plusieurs essais avec Range sans résultats pour l'instant, n'étant pas encore très familier du langage et de sa syntaxe.
Si quelqu'un pouvait m'aider a comprendre si il s'agit juste de mieux définir les cellules à copier ou bien de revoir ma méthode de copie.
Merci.
Thomas
Je commence tout juste à explorer le code VB par l'intermédiaire d'Excel et je m'excuse par avance si ma questions est très basique et sa solution surement très simple.
J'ai cherché sur les anciens post, j'y ai trouvé quelques éléments de réponse mais je suis pas encore au point quand à appréhender tout un code pour l'adapter malgré une certaine rigueure.
J'utilise un classeur Excel2003 composé de deux feuilles.
La première est un listing d'articles avec en colonnes (A, H) différentes caractéristiques dont un prix unitaire. La colonne I est destinée à une quantité à remplir manuellement.
La seconde feuille est destinée à l'impression avec une mise en page qui serait automatique.
Quand une quantité est entrée dans la colonne I de la feuille 1, la ligne est copiée vers la feuille 2 grâce au code suivant :
Sub copiedeligne()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Feuil2").Activate ' feuille de destination
Col = "I" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Feuil1") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value <> "" Then
Next.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste
End IfNumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste
End With
End Sub
Jusque là tout fonctionne mais j'aimerais sur ma feuille 2 en colonne J, et pour chaque ligne, insérer une fonction Produit (Prix unitaire X Quantité).
Seulement cette fonction disparait de ma colonne vu que la ligne entière est copiée. J'ai fait plusieurs essais avec Range sans résultats pour l'instant, n'étant pas encore très familier du langage et de sa syntaxe.
Si quelqu'un pouvait m'aider a comprendre si il s'agit juste de mieux définir les cellules à copier ou bien de revoir ma méthode de copie.
Merci.
Thomas