La méthode 'Range' de l'objet '_Global' a échoué

Aimeric

XLDnaute Nouveau
Bonjour tout le monde,

J'ai avancé sur une macro mais je bloque sur une erreur que je n'arrive pas à comprendre.. A l'éxécution de la macro, cela bloque sur cette ligne:

If Cells(k, "A").Value Like "Flacon" Or Cells(k, "A").Value Like "Sachet" Or Cells(k, "A").Value Like "Totale" Then ActiveSheet.Range("A:AW" & k).Select

Pour info, k est un "Integer" et varie.

J'ai rajouté le "ActiveSheet" car j'avais vu sur Google que cela pouvait aider... mais cela n'a pas fonctionné!

Merci d'avance de votre aide
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Cette instruction n'est pas correcte
'ActiveSheet.Range("A:AW" & k).Select'
Que doit-elle sélectionner si les conditions sont réunies ?

**Si le cellules ne contiennent qu'un seul mot , l'instruction "Like" devient inutile
 
Dernière édition:

Jacky67

XLDnaute Barbatruc
Elle doit sélectionner la la ligne "k" entre les colonnes A et AW.

Ensuite je fais une mise en forme..
Re,
Essaye
Code:
If Cells(k, "A").Value = "Flacon" Or Cells(k, "A").Value = "Sachet" Or Cells(k, "A").Value = "Totale" Then Range("A" & k & ":AW" & k).Select

*L' instruction "select" est bien souvent inutile. Par exemple pour colorier cette plage
Code:
If Cells(k, "A").Value = "Flacon" Or Cells(k, "A").Value = "Sachet" Or Cells(k, "A").Value = "Totale" Then Range("A" & k & ":AW" & k).Interior.ColorIndex = 4
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Une autre façon, sans utiliser les Like
Code:
Sub a()
Dim k&
For k = 1 To 8 ' la boucle sert juste à tester
If InStr(1, Cells(k, "A"), "Sachet") + InStr(1, Cells(k, "A"), "Flacon") + InStr(1, Cells(k, "A"), "Totale") > 0 Then
MsgBox Cells(k, "A").Resize(, 49).Address 'pour vérifier si c'est bon
End If
Next
End Sub

Avec la mise en forme
VB:
Sub b()
Dim k&
For k = 1 To 8
If InStr(1, Cells(k, "A"), "Sachet") + InStr(1, Cells(k, "A"), "Flacon") + InStr(1, Cells(k, "A"), "Totale") > 0 Then
With Cells(k, "A").Resize(, 49)
  .Interior.Color = RGB(141, 252, 159)
  .Borders.LineStyle = 1
End With
End If
Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 959
Membres
103 061
dernier inscrit
Zebor