Pb Macro sous Excel
Résolu/Fermé
jcandelibes
Messages postés
91
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
4 juillet 2014
-
27 oct. 2010 à 09:52
jcandelibes Messages postés 91 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 4 juillet 2014 - 27 oct. 2010 à 12:49
jcandelibes Messages postés 91 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 4 juillet 2014 - 27 oct. 2010 à 12:49
A voir également:
- Pb Macro sous Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 27/10/2010 à 10:10
Modifié par pijaku le 27/10/2010 à 10:10
Bonjour,
Pour répondre complètement à ta question, tu devrais nous placer ici le code de ta macro.
Normalement la copie se fait par :
Il ne s'agit là que d'un exemple à adapter à ta situation. reviens avec ton code et nous t'aiderons à le mettre en place...
Cordialement,
-- Il n'y a rien de tel qu'une question idiote, seulement une réponse idiote. A.Einstein --
Pour répondre complètement à ta question, tu devrais nous placer ici le code de ta macro.
Normalement la copie se fait par :
Sheets("Feuil1").Range(gnagna).CopyEt le collage par :
Sheets("Feuil2").Range(bidule).PasteSi ton Range(bidule) est fixe, du genre Range("A2"), alors effectivement le collage se fera toujours au même endroit et effacera les données déjà enregistrées. Pour cela, il convient, par exemple, de coller sur la première ligne vide. Une méthode :
Dim PremiereLigneVide As Integer PremiereLigneVide = Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0).Row Sheets("Feuil2").Range("A" & PremiereLigneVide).Paste
Il ne s'agit là que d'un exemple à adapter à ta situation. reviens avec ton code et nous t'aiderons à le mettre en place...
Cordialement,
-- Il n'y a rien de tel qu'une question idiote, seulement une réponse idiote. A.Einstein --
jcandelibes
Messages postés
91
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
4 juillet 2014
71
27 oct. 2010 à 10:29
27 oct. 2010 à 10:29
Bonjour,
Voici le code de ma macro.
</code>
Cordialement
Voici le code de ma macro.
Sub macroajout1() ' ' macroajout1 Macro '' <code> Rows("159:159").Select Selection.Insert Shift:=xlDown Range("B159").Select Sheets("Feuil1").Select Range("B3:G3").Select Selection.Copy Sheets("entree sortie").Select Range("B159").Select ActiveSheet.Paste Range("H158").Select Application.CutCopyMode = False Selection.Copy Range("H159").Select ActiveSheet.Paste Range("B159:H159").Select Application.CutCopyMode = False Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With Selection.Borders(xlInsideHorizontal).LineStyle = xlNone Range("B161").Select End Sub
</code>
Cordialement
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 27/10/2010 à 11:08
Modifié par pijaku le 27/10/2010 à 11:08
Ta macro n'efface pas les données. Elle insère une ligne (159) puis copie/colle les données dans cette ligne. Si tu veux copier/coller tes lignes les unes sous les autres :
Teste cette macro, car je viens de l'écrire ici dans la réponse et donc... pas testée!!
Sub macroajout1() Dim derlig As Integer With Sheets("entree sortie") derlig = .Range("B65536").End(xlUp).Offset(1, 0).Row End With With Sheets("Feuil1") .Range("B3:G3").Copy end With With Sheets("entree sortie") .Range("B" & derlig).Select ActiveSheet.Paste .Range("H" & derlig).Value = .Range("B" & derlig).Offset(-1, 0).Value .Range(Cells(derlig, 2),Cells(derlig, 8)).Select End With Application.CutCopyMode = False Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With Selection.Borders(xlInsideHorizontal).LineStyle = xlNone End Sub
Teste cette macro, car je viens de l'écrire ici dans la réponse et donc... pas testée!!
jcandelibes
Messages postés
91
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
4 juillet 2014
71
27 oct. 2010 à 11:53
27 oct. 2010 à 11:53
J'ai remplcé ta macro par la mienne et j'ai une erreur d'éxécution 1004 (La méthode Select de la classe Range a échoué)
Ca beug à partir de:
Ca beug à partir de:
.Range("B" & derlig).Select
ActiveSheet.Paste
.Range("H" & derlig).Value = .Range("B" & derlig).Offset(-1, 0).Value
.Range(Cells(derlig, 2),Cells(derlig, 8)).Select
End With
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 27/10/2010 à 12:00
Modifié par pijaku le 27/10/2010 à 12:00
bah oui. pas de select entre With et end with ... Je vais tester et je reviens...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
27 oct. 2010 à 11:59
27 oct. 2010 à 11:59
Essaye ceci :
Sub macroajout1() Dim derlig As Integer With Sheets("entree sortie") derlig = .Range("B65536").End(xlUp).Offset(1, 0).Row End With With Sheets("Feuil1") .Range("B3:G3").Copy Sheets("entree sortie").Range("B" & derlig) End With Sheets("entree sortie").Select Range("H" & derlig).Value = Range("H" & derlig).Offset(-1, 0).Value Range(Cells(derlig, 2), Cells(derlig, 8)).Select Application.CutCopyMode = False Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With Selection.Borders(xlInsideHorizontal).LineStyle = xlNone End Sub
jcandelibes
Messages postés
91
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
4 juillet 2014
71
27 oct. 2010 à 12:49
27 oct. 2010 à 12:49
Cool Ça marche
Merci beaucoup Pijaku
Merci beaucoup Pijaku