aide macro vba

elguau

XLDnaute Junior
Bonjour le Forum,

ci joint un fichier, dans la feuil1 les données en brut, dans la feuil2 le résultat désiré.
Donc j'insère une colonne à gauche du tableau (colonne A) et je veux extraire le numéro de chaque stratégie (ex : xxxxxxxxxx) et la recopier dans chaque ligne (en colonne A) jusqu'à la stratégie suivante et ainsi pour chaque stratégie dans le fichier.

j'ai le code suivant pour chercher la case avec les stratégies
Code:
Cells.Find(What:="Strategie", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
et
Code:
Cells.FindNext(After:=ActiveCell).Activate

mais je n'arrive pas à extraire la stratégie pour la copier sur chaque ligne en colonnne A ; (le probléme n'est pas la formule right() pour avoir le numéro de la stratégie mais le collage sur la colonne A du fait que le nombre de lignes est aléatoire pour chaque stratégie.

Je vous remercie d'avance pour votre aide.

David
 

Pièces jointes

  • Classeur2.xls
    42.5 KB · Affichages: 82
  • Classeur2.xls
    42.5 KB · Affichages: 87
  • Classeur2.xls
    42.5 KB · Affichages: 89

elguau

XLDnaute Junior
Re : aide macro vba

Jean-Marcel

voici le code que je suis en train de créer

Code:
Sub strats()
'
' strats Macro
'

'
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight
    Range("B1").Select
    Cells.Find(What:="Strategie", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Range("B3:H3").Select
    ActiveCell.FormulaR1C1 = "Strategie : xxxxxxxxxx"
     
    Range("A4:A5").Select ' je sais pas comment dire qu'il faut se placer su ce range !
    ActiveSheet.Paste
    
    Cells.FindNext(After:=ActiveCell).Activate
    ActiveCell.FormulaR1C1 = "Strategie : xxxxxxxxx1"
    
    Cells.FindNext(After:=ActiveCell).Activate
    Range("A8:A19").Select  ' je sais pas comment dire qu'il faut se placer su ce range !
    ActiveSheet.Paste
    
End Sub

je pense à "decaler et nbval pour definir la plage à utiliser mais je suis bloqué, merci de ton aide
 

elguau

XLDnaute Junior
Re : aide macro vba

Bonjour Jean-Marcel,

Merci beacoup de ton aide, le code marche très bien, j'ai juste rajouté une ligne avant
Code:
Columns("A:A").Select
    Selection.UnMerge

pour éviter les celules fusionées, en faite mon fichier contient environ milles lignes, dans tous les cas, tu m'as bien appris du très bon code.

Merci
 

Discussions similaires

Réponses
12
Affichages
280

Statistiques des forums

Discussions
312 415
Messages
2 088 238
Membres
103 779
dernier inscrit
FrancoisB2