Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion darib52
  • 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 !

D

darib52

Guest
bonjour à tous,
j'ai récupéré la macro ci-dessous.
et je voudrais qu'elle oriente sa recherche uniquement sur la feuille "paiement" et la recherche des lignes à copier en fonction du libellé trouvé dans la seule colonne "c".

l'un d'entre vous aurait-il la bonté d'adapter le code ?

merci d'avance.


Sub LignesMotRecheche()
Dim rep
Dim R As Range
Dim var
Dim dep&
Dim i&
Dim j&
Dim k&
Dim cpt&
Dim T()
Dim A$
Dim B$
rep = Application.InputBox("Tapez le mot à rechercher", "Lignes contenant le mot recherché")
If rep = False Or rep = "" Then Exit Sub
B$ = LCase(rep)
Set R = ActiveSheet.UsedRange
dep& = R.Row
var = R
For i& = 1 To UBound(var, 1)
For j& = 1 To UBound(var, 2)
A$ = LCase(Trim(var(i&, j&))) 'commodité d'écriture
If InStr(1, A$, B$) > 0 Then
cpt& = cpt& + 1
ReDim Preserve T(1 To UBound(var, 2) + 1, 1 To cpt&)
T(1, cpt&) = i& + dep& - 1
For k& = 1 To UBound(var, 2)
T(k& + 1, cpt&) = var(i&, k&)
Next k&
Exit For
End If
Next j&
Next i&
If cpt& = 0 Then
MsgBox "Aucune occurence de ''" & rep & "'' n'a été trouvée."
Exit Sub
Else
Sheets("feuil2").Select
Set R = Range(Cells(3, 1), Cells(UBound(T, 2), UBound(T, 1)))
R = Application.WorksheetFunction.Transpose(T)
End If
End Sub
 
Re : macro

Le signe & pour une variable Long stocke une valeur jusqu'à 2 147 483 647 (dixit Excel F1).
Aussi y'a pas de pb pour 10000.
Pourquoi 451 ?..

en fait quand j'exécute, et que cela ne fonctionne pas, j'ai =451 qd je passe sur le dim i&

c'est bizarre, mais je ne vois pas d'ou cela peut venir

merci pour les titres 😛
 
Re : macro

Le signe & pour une variable Long stocke une valeur jusqu'à 2 147 483 647 (dixit Excel F1).
Aussi y'a pas de pb pour 10000.
Pourquoi 451 ?..

la macro ne fonctionne pas si j'ai + de 451lignes etsi j'en rajoute cela ne fonctionne pas, ca bloque à ce niveau :
Code:
 A$ = LCase(Trim(var(i&, j&))) 'commodité d'écriture
 
Re : macro

Je viens de faire un test, et le code passe sans problème au delà de 451 lignes 😎
Peut être y'a t-il un pb avec tes données 😕

voici mon fichier, sachant que normalement j'ai presque 7000 lignes et la j'en ai mis que 459
 

Pièces jointes

Re : macro

Corrige les #REF!
Notamment en colonne M ligne 451 (la fameuse 451) 😉

SUPER !!! ça fonctionne sans le #REF !!!

par contre concernant l'affichage des titres
Code:
S.Rows(1).Value = Sheets("base").Rows(1).Value

quand je lance la recherche, les titres s'affichent sur la ligne 1 mais en colonne i... j'ai beau essayer de modifier, je ne sais pas quoi modifier..😕
merci
 
Re : macro

Passage à la ligne 2 (les libellé en 1, la recherche en 2) :

Change la ligne de code
Code:
Set R = S.Range(S.Cells(1, 1), S.Cells(UBound(T, 2), UBound(T, 1)))

Par
Code:
Set R = S.Range(S.Cells(2, 1), S.Cells(UBound(T, 2), UBound(T, 1)))
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
793
Réponses
4
Affichages
738
Réponses
5
Affichages
917
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Réponses
8
Affichages
395
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…