J'ai trouver ça mais j'arrive pas à l'adapter à mon problème :
Code:
Sheets("Données").Cells(Z, j).Select
If WorksheetFunction.IsNA(RangeActiveSheet.Cells(Z, j).Value) Then
If Temp = "VM" Then
Else
Sheets("Essai").Cells(E, 1).Value = Temp
E = E + 1
End If
End if
Je fournis sous la forme Cells(ligne,colonne) mais il veux une range et ça m'embête de faire la conversion.
Ou si quelqu'un à une autre idée.
Sinon une autre question pourquoi on peut pas écrire ca :
Au final, j'ai trouver si ca peut aider certain j'ai virer RangeActiveSheet.
Code:
Sheets("Données").Select
Cells(Z, j).Select
If WorksheetFunction.IsNA(RangeActiveSheet.Cells(Z, j).Value) Then
If Temp = "VM" Then
Else
Sheets("Essai").Cells(E, 1).Value = Temp
E = E + 1
End If
End if
Salut golzag et le forum Sheets("Données").Cells(Z, j).Select
ce qui est une bétise : tu ne peux sélectionner que dans la feuille active, donc pourquoi remettre le nom de la feuille Sheets("Données").Select Cells(Z, j).Select
tu sélectionnes/actives d'abord la feuille, puis la cellule dans la feuille active.
Code:
If WorksheetFunction.IsNA(Sheets("Données").Cells(Z, j)) and Temp <> "VM" Then
Sheets("Essai").Cells(E, "A") = Temp
E = E + 1
End If
Je suppose, bien évidemment, que les feuilles existent et les valeurs de E, Z et j sont cohérentes.
Pourquoi sélectionner la feuille/cellule ? il n'y a pas besoin de compliquer, ça ne fait que ralentir la macro
A+