J'utilise une macro qui me permet de rechercher des valeurs dans des colonnes et de les dupliquer dans une autre colonne et à la même ligne, voici la formule :
Private Sub CommandButton1_Click()
For Each Cel In Intersect(UsedRange, Range("AT:BC"))
If Cel = "Access" Or Cel = "Sic" Or Cel= "Ter" Then Intersect(Cel.EntireRow, Range("P")) = Cel
Next Cel
End Sub
Mon problème est que cette macro ne fonctionne, je pense que cela est du aux contenus des cellules a dupliquer : il s'agit pour chaque cellule d'une formule du type Recherchev(....)
Merci sincèrement a celle ou celui qui trouvera Euréka!
For Each Cel In Intersect(Me.UsedRange, Range("A:T"))
If Cel.Value = "Access" Or Cel.Value = "Sic" Or Cel.Value = "Ter" Then Intersect(Cel.EntireRow, Range("P")) = Cel
Next Cel
End Sub
Testé sur une fonction VlookUp. Tu noteras que je prends soin de déclarer "Cel" et que j'emploie l'Option Compare Text pour éviter les surprises avec les MAJ / min... En ce qui concerne la plage "("AT:BC") j'ai corrigé... mais vu que "P" est comprise dedans, ce n'est pas très orthodox...
J'ai copié-collé ta formule et cela ne fonctionne pas : "Next sans For"???
Option Explicit
Option Compare Text
Private Sub CommandButton1_Click()
Dim Cel As Range
For Each Cel In Intersect(Me.UsedRange, Range("AT:BC"))
If Cel.Value = "Access" Or Cel.Value = "Sicp" Or Cel.Value = "Ter" Or Cel.Value = "Duo" Or Cel.Value = "eth.met" Or Cel.Value = "NCC" Then
Intersect(Cel.EntireRow, Range("P")) = Cel
Next Cel
Thierry avait inscrit tout sur la même ligne donc pas besoin de End If mais en le recopiant comme tu as fait il faut un End If après Intersect(Cel.EntireRow, Range("P")) = Cel
If Cel.Value = "Acces" Or Cel.Value = "Sic" Or Cel.Value = "Ter" Or Cel.Value = "Duo" Or Cel.Value = "ethyp.met" Or Cel.Value = "NCC" Then Intersect(Cel.EntireRow, Range("P")) = Cel
G un message d'erreur du genre "Erreur d'exécution '13' Incompatibilité de type"?????