Pb macro excel
Fermé
BN44
-
9 juin 2008 à 15:08
benj44 Messages postés 21 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 10 juin 2008 - 10 juin 2008 à 16:22
benj44 Messages postés 21 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 10 juin 2008 - 10 juin 2008 à 16:22
A voir également:
- Pb macro excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
- Aller à la ligne excel - Guide
7 réponses
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
9 juin 2008 à 15:57
9 juin 2008 à 15:57
Bonjour,
j'ai un petit problème de programmation
en effet, j'essaie de copier certaines données d'une cellule à une autre sous excel
mais, la macro ne doit pas prendre les cellules vides
je m'explique :
par exemple, j'ai trois colonnes différentes
une quantité, l'autre article et une le prix
si la quantité est nulle donc la cellule est vide, la macro ne fait rien
par contre si la quantité est de 1, la macro copie l'article et son prix dans un tableau puis l'enregistre
merci de répondre si vous connaissez la réponse car je suis à cours d'idée
j'ai un petit problème de programmation
en effet, j'essaie de copier certaines données d'une cellule à une autre sous excel
mais, la macro ne doit pas prendre les cellules vides
je m'explique :
par exemple, j'ai trois colonnes différentes
une quantité, l'autre article et une le prix
si la quantité est nulle donc la cellule est vide, la macro ne fait rien
par contre si la quantité est de 1, la macro copie l'article et son prix dans un tableau puis l'enregistre
merci de répondre si vous connaissez la réponse car je suis à cours d'idée
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
336
9 juin 2008 à 18:17
9 juin 2008 à 18:17
bonjour
essaye ce petit code :
je considère que les quantités sont en colonne A.
Sélectionne une cellule en A contenant une valeur et lance la procédure "Test" : les données seront collées sur Feuil2 en A2:C2.
Est-ce que cela t'éclaire un peu ?
à plus
essaye ce petit code :
Sub test()
Lig = ActiveCell.Row
Quantité = Cells(Lig, 1).Value
If Quantité <> "" Then
'exemple de procédure
Range("A" & Lig & ":C" & Lig).Select
Selection.Copy
Sheets("Feuil2").Select
Range("A2").Select
ActiveSheet.Paste
End If
End Sub
je considère que les quantités sont en colonne A.
Sélectionne une cellule en A contenant une valeur et lance la procédure "Test" : les données seront collées sur Feuil2 en A2:C2.
Est-ce que cela t'éclaire un peu ?
à plus
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
10 juin 2008 à 09:58
10 juin 2008 à 09:58
Bonjour lePierre et merci pour ta réponse,
cela m'a en parti éclairer même si ca ne marche pas très bien sur mon application
En effet, la sélection n'arrive pas à se copier sur l'autre feuille malgré ce code
Je vais essayer de réfléchir au pb à partir de ton code
cela m'a en parti éclairer même si ca ne marche pas très bien sur mon application
En effet, la sélection n'arrive pas à se copier sur l'autre feuille malgré ce code
Je vais essayer de réfléchir au pb à partir de ton code
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
10 juin 2008 à 11:11
10 juin 2008 à 11:11
En fait, ta formule marche très bien désolé.
Par contre, elle ne prend que la première ligne où il y a une quantité et ne poursuit pas sa recherche
Sub test()
'
' test Macro
'
'
Range("l5:L120").Select
Lig = ActiveCell.Row
Quantité = Cells(Lig, 12).Value
If Quantité <> "" Then
Range("l5:L120").Select
'exemple de procédure
Range("L" & Lig & ":O" & Lig).Select
Selection.Copy
Sheets("Ventes produits").Select
ActiveCell.Offset(6, 0).Range("a2:a2007").Select
Range("a2").Select
ActiveSheet.Paste
End If
End Sub
J'aimerais que la macro récupère toutes les quantités et les articles lorsqu'il y a une quantité dans la colonne
puis qu'elle les copie dans un tableau.
Merci de répondre si vous avez la réponse
Par contre, elle ne prend que la première ligne où il y a une quantité et ne poursuit pas sa recherche
Sub test()
'
' test Macro
'
'
Range("l5:L120").Select
Lig = ActiveCell.Row
Quantité = Cells(Lig, 12).Value
If Quantité <> "" Then
Range("l5:L120").Select
'exemple de procédure
Range("L" & Lig & ":O" & Lig).Select
Selection.Copy
Sheets("Ventes produits").Select
ActiveCell.Offset(6, 0).Range("a2:a2007").Select
Range("a2").Select
ActiveSheet.Paste
End If
End Sub
J'aimerais que la macro récupère toutes les quantités et les articles lorsqu'il y a une quantité dans la colonne
puis qu'elle les copie dans un tableau.
Merci de répondre si vous avez la réponse
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
336
10 juin 2008 à 15:29
10 juin 2008 à 15:29
Bonjour
Essaye ce nouveau code :
Tu te places sur la feuille qui contient les données et tu lances la procédure "Test2".
Les données non vides seront copiées à partir de la ligne 6 (LigVente = 6) colonne A de la feuille "Ventes produits".
A plus
Essaye ce nouveau code :
Sub Test2()
FeuilleEnCours = ActiveSheet.Name
LigVente = 6
For Lig = 5 To 120
Quantité = Cells(Lig, 12).Value
If Quantité <> "" Then
'exemple de procédure
Range("L" & Lig & ":O" & Lig).Select
Selection.Copy
Sheets("Ventes produits").Select
Range("a" & LigVente).Select
ActiveSheet.Paste
LigVente = LigVente + 1
Sheets(FeuilleEnCours).Select
End If
Next Lig
End Sub
Tu te places sur la feuille qui contient les données et tu lances la procédure "Test2".
Les données non vides seront copiées à partir de la ligne 6 (LigVente = 6) colonne A de la feuille "Ventes produits".
A plus
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
>
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
10 juin 2008 à 15:42
10 juin 2008 à 15:42
Sa marche super merci
sauf que quand je ferme et que je réouvre mon application, le tableau ne rajoute pas de ligne et écrase les anciennes données.
Répond moi si tu trouve la réponse merci
sauf que quand je ferme et que je réouvre mon application, le tableau ne rajoute pas de ligne et écrase les anciennes données.
Répond moi si tu trouve la réponse merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
10 juin 2008 à 15:55
10 juin 2008 à 15:55
je me suis sûrement mal exprimé,
en fait,j'aimerais que la macro continue la copie des données à l'endroit où s'arrête les lignes du tableau
et ainsi, qu'elle reprenne le copiage de nouvelles données à la fin du tableau
j'espère être assez clair
merci de vos réponses
en fait,j'aimerais que la macro continue la copie des données à l'endroit où s'arrête les lignes du tableau
et ainsi, qu'elle reprenne le copiage de nouvelles données à la fin du tableau
j'espère être assez clair
merci de vos réponses
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
336
10 juin 2008 à 16:06
10 juin 2008 à 16:06
bonjour
voici le code modifié pour coller les données à la suite des autres dans la feuille "Ventes produits" :
à plus
voici le code modifié pour coller les données à la suite des autres dans la feuille "Ventes produits" :
Sub Test2()
FeuilleEnCours = ActiveSheet.Name
Sheets("Ventes produits").Select
LigFin = Range("A6").End(xlDown).Row
LigVente = LigFin + 1
Sheets(FeuilleEnCours).Select
For Lig = 5 To 120
Quantité = Cells(Lig, 12).Value
If Quantité <> "" Then
'exemple de procédure
Range("L" & Lig & ":O" & Lig).Select
Selection.Copy
Sheets("Ventes produits").Select
Range("a" & LigVente).Select
ActiveSheet.Paste
LigVente = LigVente + 1
Sheets(FeuilleEnCours).Select
End If
Next Lig
End Sub
à plus
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
10 juin 2008 à 16:18
10 juin 2008 à 16:18
Si j'ai bien compris, je dois remplacer l'ancienne formule par celle-ci
Mais le problème, c'est que il y a un bug
en effet, Range ("a" & LigVente).Select échoue
FeuilleEnCours = ActiveSheet.Name
Sheets("Ventes produits").Select
LigFin = Range("A3").End(xlDown).Row
LigVente = LigFin + 1
Sheets(FeuilleEnCours).Select
For Lig = 5 To 120
Quantité = Cells(Lig, 12).Value
If Quantité <> "" Then
'exemple de procédure
Range("L" & Lig & ":O" & Lig).Select
Selection.Copy
Sheets("Ventes produits").Select
Range("a" & LigVente).Select Cette ligne bog
ActiveSheet.Paste
LigVente = LigVente + 1
Sheets(FeuilleEnCours).Select
End If
Next Lig
End Sub
Merci de repondre si vous connaissez la réponse
Mais le problème, c'est que il y a un bug
en effet, Range ("a" & LigVente).Select échoue
FeuilleEnCours = ActiveSheet.Name
Sheets("Ventes produits").Select
LigFin = Range("A3").End(xlDown).Row
LigVente = LigFin + 1
Sheets(FeuilleEnCours).Select
For Lig = 5 To 120
Quantité = Cells(Lig, 12).Value
If Quantité <> "" Then
'exemple de procédure
Range("L" & Lig & ":O" & Lig).Select
Selection.Copy
Sheets("Ventes produits").Select
Range("a" & LigVente).Select Cette ligne bog
ActiveSheet.Paste
LigVente = LigVente + 1
Sheets(FeuilleEnCours).Select
End If
Next Lig
End Sub
Merci de repondre si vous connaissez la réponse
benj44
Messages postés
21
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
10 juin 2008
10 juin 2008 à 16:22
10 juin 2008 à 16:22
Je suis désolé, je viens de trouver mon erreur
merci beaucoup Lapierre tu gère
merci beaucoup Lapierre tu gère