Programmation en VBA sous excel 2007
loulou
-
loulou -
loulou -
Bonjour,
J'ai un problème en vba sous excel 2007 que je n'arrive pas a résoudre. je voudrai savoir si c'est possible de recopier des cellules mais seulement si on a rempli une case par exemple la date de réalisation de l'achat, car pour le moment mon programme selectionne la plage de données et recopie mais si je veux copier 15 ligne ils faut je clique 3 fois que le bouton car jais des plages de cellules fusionner.
Voici mon prgramme que j'ai creer
Sub Macro1()
'
' Macro1 Macro
'
If Range("K37") = "ne pas recopier" Then
End If
If Range("K37") = "recopier" Then
Range("A3:A9,C3:D9,G3:L9").Select
Range("G3").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I3:J3").ClearContents
End If
If Range("K38") = "ne pas recopier" Then
End If
If Range("K38") = "recopier" Then
Range("A10:A16,C10:D16,G10:L16").Select
Range("G10").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I10:J16").ClearContents
End If
If Range("K39") = "ne pas recopier" Then
End If
If Range("K39") = "recopier" Then
Range("A17:A23,C17:D23,G17:L23").Select
Range("G17").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I17:J23").ClearContents
End If
If Range("K40") = "ne pas recopier" Then
End If
If Range("K40") = "recopier" Then
Range("A24:A30,C24:D30,G24:L30").Select
Range("G24").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I24:J30").ClearContents
End If
'Aller à la derniére ligne
Dim ligne As Long
Worksheets("archive").Select
ligne = (Cells.SpecialCells(xlCellTypeLastCell).Row) - 1
Rows(ligne).Select
Selection.Insert Shift:=xlDown
Range("A65536").End(xlUp).Offset(1, 0).Select
End Sub
J'ai un problème en vba sous excel 2007 que je n'arrive pas a résoudre. je voudrai savoir si c'est possible de recopier des cellules mais seulement si on a rempli une case par exemple la date de réalisation de l'achat, car pour le moment mon programme selectionne la plage de données et recopie mais si je veux copier 15 ligne ils faut je clique 3 fois que le bouton car jais des plages de cellules fusionner.
Voici mon prgramme que j'ai creer
Sub Macro1()
'
' Macro1 Macro
'
If Range("K37") = "ne pas recopier" Then
End If
If Range("K37") = "recopier" Then
Range("A3:A9,C3:D9,G3:L9").Select
Range("G3").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I3:J3").ClearContents
End If
If Range("K38") = "ne pas recopier" Then
End If
If Range("K38") = "recopier" Then
Range("A10:A16,C10:D16,G10:L16").Select
Range("G10").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I10:J16").ClearContents
End If
If Range("K39") = "ne pas recopier" Then
End If
If Range("K39") = "recopier" Then
Range("A17:A23,C17:D23,G17:L23").Select
Range("G17").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I17:J23").ClearContents
End If
If Range("K40") = "ne pas recopier" Then
End If
If Range("K40") = "recopier" Then
Range("A24:A30,C24:D30,G24:L30").Select
Range("G24").Activate
Selection.Copy
Sheets("archive").Select
ActiveSheet.Paste
Worksheets("achat").Range("I24:J30").ClearContents
End If
'Aller à la derniére ligne
Dim ligne As Long
Worksheets("archive").Select
ligne = (Cells.SpecialCells(xlCellTypeLastCell).Row) - 1
Rows(ligne).Select
Selection.Insert Shift:=xlDown
Range("A65536").End(xlUp).Offset(1, 0).Select
End Sub
A voir également:
- Programmation en VBA sous excel 2007
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
Faudrait d'abord expliquer ce que tu veux faire parce que...
1°) Ca sert à rien..
2°)
Là ça devient dur,dur à comprendre !!
A=
Faudrait d'abord expliquer ce que tu veux faire parce que...
1°) Ca sert à rien..
If Range("K37") = "ne pas recopier" Then
End If
2°)
If Range("K37") = "recopier" Then
'Sélection d'une plage multiple
Range("A3:A9,C3:D9,G3:L9").Select
'Désactive la sélection multiple et sélectionne G3
Range("G3").Activate
'Copie de G3
Selection.Copy
Sheets("archive").Select
'Copie de G3 sur la feuille "archive" ... MAIS OU ???
ActiveSheet.Paste
'Vide la plage "I3:J3" ??
Worksheets("achat").Range("I3:J3").ClearContents
End If
Là ça devient dur,dur à comprendre !!
A=
A+
A+