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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour