• Initiateur de la discussion Initiateur de la discussion rak
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rak

XLDnaute Junior
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
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
802
  • Question Question
Microsoft 365 Code VBA
Réponses
2
Affichages
481
Réponses
21
Affichages
2 K
Réponses
2
Affichages
1 K
Réponses
4
Affichages
757
Retour