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

A tester :
remplacement de :
Code:
Set R = ActiveSheet.UsedRange
par :
Code:
Set R = ThisWorkbook.Sheets("paiement").Columns("C:C")

NB : Utilise les balises (# en mode avancé) pour placer du code. 😎
 
Re : macro

bonjour,
j'ai également récupérer cette macro.
je suis en train de l'adapter à mon fichier mais quand je lance la recherche j'ai une erreur sur cette ligne
Code:
A$ = LCase(Trim(var(i&, j&))) 'commodité d'écriture
si quelqu'un peut m'aider ce serait super !!
bye🙂
 
Re : macro

voici le code

Code:
Sub LignesMotRecherche()
'
' LignesMotRecheche Macro
' Macro enregistrée le 22/07/2011 par  val
'

'
Dim S As Worksheet
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("Rechercher pièces en magasin", "Lignes contenant le mot recherché")
If rep = False Or rep = "" Then Exit Sub
B$ = LCase(rep)
'Set R = ActiveSheet.UsedRange
Set R = ThisWorkbook.Sheets("base").Columns("H:N")
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
  Set S = Sheets.Add(before:=ActiveSheet)
  Set R = S.Range(S.Cells(1, 1), S.Cells(UBound(T, 2), UBound(T, 1)))
  R = Application.WorksheetFunction.Transpose(T)
End If


    ActiveWorkbook.Save
    ActiveWindow.Close
    ActiveCell.Offset(6, 0).Range("A1").Select
    Application.CommandBars("Stop Recording").Visible = False
    ActiveSheet.Shapes("CommandButton1").Select
    ActiveWorkbook.Save
    ActiveWorkbook.Save
    ActiveCell.Offset(1, 1).Range("A1").Select
    ActiveWorkbook.Save
    Sheets("BASE").Select
    Application.Goto Reference:="LignesMotRecherche"
    ActiveSheet.Shapes("CommandButton1").Select
    Selection.Cut
    Sheets("BASE").Select
    ActiveSheet.Paste
    ActiveCell.Offset(1, 4).Range("A1").Select
    Application.Run _
        "'BASE A IMPORTER DANS AURORE AU 21 7 2011.xlsx'!LignesMotRecherche"
    ActiveWorkbook.Save

    ActiveWorkbook.Save
End Sub

je ne sais pas si cela peux vous aider..
 
Re : macro

Chez moi, tout le code fonctionne correctement jusqu'à :
Code:
...
Else
  Set S = Sheets.Add(before:=ActiveSheet)
  Set R = S.Range(S.Cells(1, 1), S.Cells(UBound(T, 2), UBound(T, 1)))
  R = Application.WorksheetFunction.Transpose(T)
End If

Après, je trouve le code bizarre, alors je l'ai arrêté à ce stade.
Code:
    ActiveWorkbook.Save
    ActiveWindow.Close
le Close ferme le classeur, donc le code vba aussi, et le code ne peut pas poursuivre...


Mais pas de pb particulier avec :
je suis en train de l'adapter à mon fichier mais quand je lance la recherche j'ai une erreur sur cette ligne
Code :
A$ = LCase(Trim(var(i&, j&))) 'commodité d'écriture
 
Re : macro

Je ne voudrais pas abuser mais, j'aimerais afficher la recherche dans la feuille active, sans en créer une autre, mais je ne sais pas comment l'écrire. Pouvez vous m'aider?
 
Re : macro

en cliquant sur le bouton "rechercher" de la feuil "RECHERCHE", j'aimerai que la recherche s'affiche sur cette meme feuille au lieu d'en creer une autre. et récupérer les titres des cellules de ma base (feuil "BASE")..
je ne sais pas si vous voyez ou si je suis claire !!!
merci de votre réponse

de plus, je n'arrive pas à modifier le i&, en effet, ma base de donnée contient déjà 8000 lignes et je vais surement atteindre les 10000, et le i&=451 ?????
 
Dernière modification par un modérateur:
Re : macro

A tester :

remplacer la ligne de code :
Code:
  Set S = Sheets.Add(before:=ActiveSheet)
par :
Code:
Set S = Sheets("Feuil1")

super, ça fonctionne !!!

encore une petite question, je ne trouve pas dans les différents tuto et forum :
de plus, je n'arrive pas à modifier le i&, en effet, ma base de donnée contient déjà 8000 lignes et je vais surement atteindre les 10000, et le i&=451 ?????
 
- 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
397
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…