Pb macro excel
BN44
-
benj44 Messages postés 21 Statut Membre -
benj44 Messages postés 21 Statut Membre -
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 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 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
A voir également:
- Pb macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
7 réponses
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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