Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Réorganisation de codes

3 réponses
Avatar
Sylvain P.
Bonjour =E0 tous,

J'ai un fichier xls avec des donn=E9es du type :
BUDG I 012 I 25% I AMG I 145 I 27% I
BVDG I 014 I 28% I BUDG I 213 I 75% I

A chaque fois donc un code de trois lettres et dans les 2 cellules =E0
droite un r=E9sultat en effectifs et un r=E9sultat en %.
Je voudrais faire une feuille avec chaque code identique dans la m=EAme
colonne :
BUDG I 012 I 25% I AMG I 145 I 27% I
BUDG I 213 I 75% I I I I BVDG I 014 I 28% I
I I I AMG I 789 I 67% I BVDG I 456 I 35% I


J'ai la liste des codes.
Pour l'instant, j'ai fait une macro que je dois adapter code par
code :

Sub Reorganize()

For Each c In Range("Q2:AB1075")
If InStr(1, c, "BUDG") > 0 Then
Range("BJ" & c.Row).Value =3D c.Value
c.Offset(0, 1).Select
Selection.Copy
Range("BK" & c.Row).Select
ActiveCell.PasteSpecial
c.Offset(0, 2).Select
Selection.Copy
Range("BL" & c.Row).Select
ActiveCell.PasteSpecial
End If
Next c

End Sub

Je ne voudrais faire qu'une seule op=E9ration sans modifier =E0 chaque
fois ma macro.
Des id=E9es ?

Merci par avance.

Bonne journ=E9e

3 réponses

Avatar
francois.forcet
Salut à toi

Je te propose ton corrigé ainsi :

For Each d In Range("Q2:AB1075")
If Traité Like "*-" & d & "-*" = False Then
For Each c In Range(d & ":AB1075")
If InStr(1, c, d) > 0 Then
Range("BJ" & c.Row).Value = c.Value
c.Offset(0, 1).Select
Selection.Copy
Range("BK" & c.Row).Select
ActiveCell.PasteSpecial
c.Offset(0, 2).Select
Selection.Copy
Range("BL" & c.Row).Select
ActiveCell.PasteSpecial
End If
Next c
Traité = Traité & "-" & d & "-"
Next d

Je ne l'ai essayé dans son intégralité mais sur une partie

Celà devrait fonctionner

Dis moi !!!!
Avatar
Sylvain P.
Merci François, mais ça ne fonctionne pas.
ça bloque ici : For Each c In Range(d & ":AB1075")
Tu vois ce que c'est ??
A+
Avatar
francois.forcet
Rebonjours à toi

Essaies avec :

For Each c In Range(d.Address & ":AB1075")

Et dis moi !!!!