Bonjour
j'ai un problléme de taille avec une macro, que je n'arrive pas à modifier voici les explications:
Cette macro est limitée en terme de donnée seule 20 données peuvent être saisie
1)J'ai essaye de modifier cette limitation mais hélas je ne suis pas arriver a le réaliser
2) la macro tri réalise un copier coller mais elle copies toutes les données alors que je souhaite réaliser un copier coller des colonnes sélectionnées suivante :
fichIER test Fichier base
Nu CAR colonne a = Nu CAR colonne e
St aff colonne B = St aff COLONNE b
Nu Chassis colonne f = Nu Chassis colonne c
Mod Version colonne h = Mod Version colonne d
Modele colonne g = Famille colonne e
Bse Cpt colonne j = Bse Cpt colonne f
Am Fab colonne M = Am Fab colonne g
Am Aff colonne o = Am Aff colonne h
Date Aff colonne P = Jour Af colonne i
Voici le code vba de la macro
Encore une nouvelle fois merci pour votre aide
et joyeux noel
j'ai un problléme de taille avec une macro, que je n'arrive pas à modifier voici les explications:
Cette macro est limitée en terme de donnée seule 20 données peuvent être saisie
1)J'ai essaye de modifier cette limitation mais hélas je ne suis pas arriver a le réaliser
2) la macro tri réalise un copier coller mais elle copies toutes les données alors que je souhaite réaliser un copier coller des colonnes sélectionnées suivante :
fichIER test Fichier base
Nu CAR colonne a = Nu CAR colonne e
St aff colonne B = St aff COLONNE b
Nu Chassis colonne f = Nu Chassis colonne c
Mod Version colonne h = Mod Version colonne d
Modele colonne g = Famille colonne e
Bse Cpt colonne j = Bse Cpt colonne f
Am Fab colonne M = Am Fab colonne g
Am Aff colonne o = Am Aff colonne h
Date Aff colonne P = Jour Af colonne i
Voici le code vba de la macro
Code:
Public nblignelue, tableau(300, 20)
Sub tri()
Workbooks("test1_new.xls").Activate
Sheets("Données").Activate
Range("M4").Select
nblignelue = 1
Do
If Year(CDate(ActiveCell.Value)) < Year(Date) Then
If Month(Date) > 3 Then
cell = ActiveCell.Address
colonne = GetCol(ActiveCell)
'ReDim Preserve tableau(nblignelue, 20)
adresse = "$A$" + Right(Str(colonne), Len(Str(colonne)) - 1)
Range(adresse).Select
For i = 1 To 300
tableau(nblignelue, i) = ActiveCell.Value
Selection.Offset(0, 1).Select
Next
nblignelue = nblignelue + 1
Range(cell).Select
ElseIf (CDate(ActiveCell.Value)) - Month(Date) < 9 Then
cell = ActiveCell.Address
colonne = GetCol(ActiveCell)
'ReDim Preserve tableau(nblignelue, 20)
adresse = "$A$" + Right(Str(colonne), Len(Str(colonne)) - 1)
Range(adresse).Select
For i = 1 To 300
tableau(nblignelue, i) = ActiveCell.Value
Selection.Offset(0, 1).Select
Next
nblignelue = nblignelue + 1
Range(cell).Select
End If
ElseIf Month(CDate(ActiveCell.Value)) <= (Month(Date) - 3) Then
cell = ActiveCell.Address
colonne = GetCol(ActiveCell)
'ReDim Preserve tableau(nblignelue, 20)
adresse = "$A$" + Right(Str(colonne), Len(Str(colonne)) - 1)
Range(adresse).Select
For i = 1 To 300
tableau(nblignelue, i) = ActiveCell.Value
Selection.Offset(0, 1).Select
Next
nblignelue = nblignelue + 1
Range(cell).Select
End If
Selection.Offset(1, 0).Select
Loop While ActiveCell.Value <> ""
Workbooks("base_new.xls").Activate
Sheets("> 3mois").Activate
Range("a2").Select
For i = 1 To nblignelue - 1
For j = 1 To 300
ActiveCell.Value = tableau(i, j)
Selection.Offset(0, 1).Select
Next
Selection.Offset(1, -300).Select
Next
End Sub
Sub test()
ft = MsgBox(Str(GetCol(ActiveCell)), , "TEST")
End Sub
Public Function GetCol(cell As Range) As Integer
GetCol = Val(Right(cell.Address, Len(cell.Address) - InStr(2, cell.Address, "$")))
End Function
Encore une nouvelle fois merci pour votre aide
et joyeux noel