Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Trie & Sélection

  • Initiateur de la discussion Temjeh
  • Date de début
T

Temjeh

Guest
Trie & Sélection

Rebonjour a tous

Ca fait la deuxieme fois que je le poste peut-etre je m'était mal exprimé j'ai donc simplifier:

J'aimerais augmenter ma productivité en me faisant une macro

Je voudrais si possible:


J'ai un classeur
Si "toto" = col "E" ..ex en E3, E6 et en E99 selectione tout les toto ainsi que sa ligne de "A" à "H"

Cut Paste ensuite par moi-même

Le toto est variable est-ce possible de mettre un valueBox !! et un mgbox si pas trouver

Ensuite je trie le tout par moi-même

Merci beaucoup de m'aider

Temjeh
A++
 
M

myDearFriend

Guest
Re: Trie & Sélection

Bonjour Temjeh,

Pourquoi changes-tu toujours de fil de discussion ?
Je ne pense pas qu'il s'agisse de la meilleure façon d'obtenir une réponse ! Si tu étais un peu plus clair dans tes demandes... ce serait déjà plus simple.

Cela dit, après avoir parcouru les 3 fils suivant :
<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=97688&t=97683>
<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=97788&t=97788>
<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=97933&t=97933>

Je te propose l'exemple ci-joint avec le code ci-dessous :

Sub Recherche()
Dim TabTemp As Variant
Dim Cl As Workbook
Dim L As Long
Dim i As Long
Dim C As Byte
Dim DestClas As String
Dim Chem As String
Dim Ouvert As Boolean

DestClas = InputBox("Nom à rechercher en colonne E", "Recherche", "Toto")
If DestClas = "" Then Exit Sub
'Mémoriser les lignes et "Toper" celles correspondant au nom recherché
With ThisWorkbook.Sheets("Tous")
L = .Range("E65536").End(xlUp).Row
TabTemp = .Range(.Cells(1, 1), .Cells(L, 9)).Value
For i = 1 To L
If UCase(.Cells(i, 5).Value) = UCase(DestClas) Then
TabTemp(i, 9) = "x"
End If
Next i
End With
'Activation ou ouverture du classeur "Nom Recherché"
DestClas = DestClas & ".xls"
'Est-il déjà ouvert ?
For Each Cl In Workbooks
If Cl.Name = DestClas Then
Ouvert = True
Workbooks(DestClas).Activate
Exit For
End If
Next Cl
'Ouvrir le fichier
If Not Ouvert Then
On Error GoTo OuvreErreur
Chem = "C:\Program Files\Territoire 2004\"
Workbooks.Open Chem & DestClas
On Error GoTo 0
End If
'"Coller" les informations utiles et supprimer les lignes dans le fichier source
With Workbooks(DestClas).Sheets("Tous")
For i = 1 To UBound(TabTemp, 1)
If TabTemp(i, 9) = "x" Then
L = .Range("E65536").End(xlUp).Row + 1
For C = 1 To 8
.Cells(L, C).Value = TabTemp(i, C)
Next C
End If
Next i
End With
'Ferme le fichier en le sauvegardant
Workbooks(DestClas).Close True
'Supprime les lignes concernées dans le fichier source
With ThisWorkbook.Sheets("Tous")
For i = UBound(TabTemp, 1) To 1 Step -1
If TabTemp(i, 9) = "x" Then
ThisWorkbook.Sheets("Tous").Rows(i).Delete
End If
Next i
End With

Exit Sub

OuvreErreur:
MsgBox "Fichier " & Chem & DestClas & " inexistant !"
Exit Sub
End Sub



Il conviendra de modifier la ligne
Chem = "C:\Program Files\Territoire 2004\"
pour indiquer le chemin des fichiers de destination.
Ces derniers doivent être créés au préalable (avec une feuille nommée "Tous")

J'espère avoir compris ta demande et avoir ainsi répondu à cette dernière.


Cordialement,
Didier_mDF
 

Pièces jointes

  • PourTemjeh.zip
    12.3 KB · Affichages: 20
@

@+Thierry

Guest
Re: DEMO Recherche Value et Multi Sélection sur Union Range Non Contigue...

Bonjour Didier TemJeh, le Forum

Pendant que je cherchais à manipuler une Array en Union.Range je vois qu'en fait Didier connais bien mieux le "dossier" que moi !!!

Enfin ce n'est pas grave ce genre de truc servira toujours à quelqu'un car j'ai fait une démo "Texto" sur ce que demandait TemJeg dans ce fil...

Je ne sais pas du tout si çà correspond vu que çà n'a rien à voir avec le travail de mon copain Didier... Tout ce que je peux constater c'est que tu as monopolisé du monde pour ton problème TemJeh et surtout à cause de la façon de t'y prendre sur plusieurs Fils de discussions sans t'expliquer clairement dans un seul et uinique... (soupir...)

Enfin le travail est fait par Didier et tu as une démo en prime pour sélectionner des rows non contigues en fonction d'un mot recherché... (je n'ai pas vraiment réussi à obtenir ce que je voulais, car l'objet Union est assez récalcitrant pour recevoir une Array, alors j'ai utilisé un subterfuge un peu lourd qui limite cette démo à dix occurrence, mais c'est pour tester...)

Bon Dimanche
@+Thierry
 

Pièces jointes

  • XLD_Union-Range-Multi-Select.zip
    17.3 KB · Affichages: 24
T

Temjeh

Guest
Re: Trie & Sélection MERCI! MERCI!

Wow de wow de wow!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Toute une macro

J'en reviens pas...................tu es un vrai pro

Le tout fonctionne tres tres bien

Je m'excuse pour le changement car avec ces messages de vacance j'ai cru qu'il y avait plus beaucoup de répondant ....la preuve j'avais même cesser de regarder si j'avais eu une réponse.

C'est donc pour cela que j'ai essayé de me symplifié un peu car je pouvais peut-être travailler la fin de la formule moi-même sans trop déranger tout le monde

Un gros merci pour tout vos effort et surtout a Didier pour sa macro qui est superbe

1000 merci

Temjeh

A++
 
L

Laurent

Guest
Re: Trie & Sélection

Bonjour à tout le forum,

Juste une petite chose à propos du fichier joint par @+Thierry. Le Msgbox indique un nombre toujours supérieur de 1 au nombre réel d'occurence trouvé. Mon niveau ne me permet pas de corriger ce genre de chose mais simplement de le constater...

A++
Laurent
 
@

@+Thierry

Guest
Re: Trie & Sélection

Bonsoir Laurent, Didiern TemJeh, le Forum

Bien vu Laurent (au moins un qui suit mes démos les gars !!!!)...

J'ai ajouté 1 dans ma tête en partant de zéro avec les tableaux ! (on part de zéro...... et on ajoute toujours 1 pour avoir la ligne....)

Mais du coupe je ne sais plus compter !!! lol

Donc Laurent il faut virer les "y + 1" dans
MsgBox "Le Programme est limité à 10 occurences, mais il y a " & y + 1 & " " & TheSearch, vbCritical, "Sorry Program Limit !! lol"

et dans l'autre message
MsgBox "Le Programme est limité à 10 occurences, mais il y a " & y + 1 & " " & TheSearch, vbCritical, "Sorry Program Limit !! lol"

Remplacer respectivement :
MsgBox "Le Programme est limité à 10 occurences, mais il y a " & y & " " & TheSearch, vbCritical, "Sorry Program Limit !! lol"

MsgBox "Le Programme est limité à 10 occurences, mais il y a " & y & " " & TheSearch, vbCritical, "Sorry Program Limit !! lol"


Merci à toi Laurent
Bonne Nuit
@+Thierry
 
@

@+Thierry

Guest
Re: Trie & Sélection

arf mon clavier délire et moi je ne lis pas !!! (CTRL C marche plus comme il faut lol, c'est comme si on m'a coupé un bras !!!)

Changer:
MsgBox "le Programme a bien trouvé et sélectionné " & y + 1 & " " & TheSearch, vbInformation, "Thierry's Démo"

par:
MsgBox "le Programme a bien trouvé et sélectionné " & y & " " & TheSearch, vbInformation, "Thierry's Démo"

OUppppppps
@+Thierry
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…