Macro pour Ecrire à la même ligne

  • Initiateur de la discussion Initiateur de la discussion Ibrahima84
  • Date de début Date de début

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 !

Ibrahima84

XLDnaute Nouveau
Bonjour,

Cela fait plus de deux semaines que je cherche à résoudre ce problème qui m'empêche de dormir.

Le voci:
Au fait je veux une macro qui cherche une chîne de caractère par exemple [T22] dans une cellule composé de plusieur autres mots si elle trouve le mot dans la cellule de la ligne "i" de la colonne 3 ("C:C"), alors on doit écrire à la cellule de la ligne "i" de la colonne 6 ("F:F").
Autrement dit:

Si la cellule(i, 3) contient "[T22]" alors
la cellule(i, 6) = Chat

Fin

Ce chaine de caractere se trouve dans plusieurs cellules de la colonne C
Et une fois que la dernièere ligne est atteinte on s'aarrête.

Je vous remercie d'avance de votre aide.
 
Re : Macro pour Ecrire à la même ligne

Salut à tous
j'avais écri ce code For i = 3 To 50

If Cells.Find(What:="[T22]", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate Then

Cells(i, 16) = "FNS Knorr"

Il n'écrit pas le mot chat sur la même ligne!
je ne comprends pas pourquoi, c'est par ce que je suis un gros débutant.

Cordialement
 
Re : Macro pour Ecrire à la même ligne

re,

à tester (difficile de tester sans fichier et sans trop comprendre ce que la macro doit faire)

Code:
Dim cellFind As Range


For i = 1 To 50
    
    Set cellFind = Cells.Find(What:="[T22]", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    True, SearchFormat:=False)
    
    If Not cellFind Is Nothing Then Cells(i, 16) = "FNS Knorr"

Next i

ou

Code:
Dim cellFind As Range


For i = 1 To 50
    
    Set cellFind = Cells.Find(What:="[T22]", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    True, SearchFormat:=False)
    
    If Not cellFind Is Nothing Then Cells(cellFind.Row, 16) = "FNS Knorr"

Next i

a+
 
Re : Macro pour Ecrire à la même ligne

Bonjour,

repère la dernière cellule remplie de ta colonne et ensuite balaye la :
Sub rempli()
For i = 1 To [C65536].End(xlUp).Row
If InStr(Cells(i, 3), "[T22]") > 0 Then Cells(i, 6) = "chat"
Next i
End Sub

eric
 
- 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

Réponses
2
Affichages
204
Réponses
8
Affichages
690
Réponses
9
Affichages
247
Retour