Problème de macro

mouss2501

XLDnaute Nouveau
Bonjour à tous,

J'ai un tableau sous excel avec 21 colonnes et 2400 lignes.
Mon problème et le suivant:

il y a une colonne qui s'appelle Nom CA, et je vous par je ne sais quel moyen que je puise rentrer le nom du CA dans une case et qu'il me donne toutes les lignes du CA concerné (CA = chargé d'affaire)
Merci d'avance et bon week
 

SergiO

XLDnaute Accro
Re : Problème de macro

Re,

Tu mets ce code dans un module puis tu lui affectes un bouton:
Code:
Sub Afficher()
Columns("A:E").EntireColumn.Hidden = False
Columns("G:G").EntireColumn.Hidden = False
Columns("K:U").EntireColumn.Hidden = False
Rows("1:10").EntireRow.Hidden = False
End Sub
@+
 

SergiO

XLDnaute Accro
Re : Problème de macro

Re,

Voici une solution.

1 - Remplacer ce code:
Code:
Private Sub Workbook_Open()
Dim CA As String
CA = InputBox("Entrer votre nom:", "Identification")
If CA = "" Then
Call Initialise
Else
[F5] = CA
[COLOR=Red] Selection.AutoFilter Field:=6, Criteria1:="*" & Range("F5").Value & "*"
Selection.AutoFilter Field:=15, Criteria1:="="
Range("F5").Select[/COLOR]
Columns("A:E").EntireColumn.Hidden = True
Columns("G:G").EntireColumn.Hidden = True
Columns("K:U").EntireColumn.Hidden = True
Rows("1:10").EntireRow.Hidden = True
End If
End Sub
2 - Rajouter cette ligne à la suite de Selection.AutoFilter Field:=4 dans le code Initialise:
Code:
Selection.AutoFilter Field:=15
@+
 
Dernière édition:

mouss2501

XLDnaute Nouveau
Re : Problème de macro

Voici mon code actuel


Private Sub Workbook_Activate()


End Sub

Private Sub Workbook_Open()
Dim CA As String
CA = InputBox("Entrer votre nom ou annuler", "Identification")
If CA = "" Then
Call Initialise
Else
[F5] = CA
Call Recherche
Columns("B:D").EntireColumn.Hidden = True
Columns("G:G").EntireColumn.Hidden = True
Columns("O:R").EntireColumn.Hidden = True
Columns("T:T").EntireColumn.Hidden = True
Rows("1:10").EntireRow.Hidden = True
Rows("2411:2545").EntireRow.Hidden = True
End If
End Sub

Que faut-iol que je fasse ?
 

SergiO

XLDnaute Accro
Re : Problème de macro

1 - Remplace Call Recherche par ce qui est en rouge dans mon message précédent.

2 - Rajoute cette ligne à la suite de Selection.AutoFilter Field:=4 dans le module1 de la macro Initialise:
Code:
Selection.AutoFilter Field:=15
 

mouss2501

XLDnaute Nouveau
Re : Problème de macro

Dans mon module est ce juste ?

Option Explicit

Sub Recherche() ' LJA
Selection.AutoFilter Field:=6, Criteria1:="*" & Range("F5").Value & "*", Operator:=xlAnd
Range("F5").Select
End Sub

Sub Initialise()
Selection.AutoFilter Field:=6
Range("F5").Value = "NOM CA"
Selection.AutoFilter Field:=4
Range("D5").Value = "AGENCE"
End Sub

Sub Rechercheagence() ' LJA
Selection.AutoFilter Field:=4, Criteria1:="*" & Range("D5").Value & "*", Operator:=xlAnd
Range("D5").Select
Selection.AutoFilter Field:=15
End Sub
 

SergiO

XLDnaute Accro
Re : Problème de macro

Bonjour,

Voici une solution avec une 2ème inputbox, pour le faire en même temps qie le nom, il faut passer par un Userform.

Code:
Private Sub Workbook_Open()
Dim CA As String
Dim Echeance
CA = InputBox("Entrer votre nom:", "Identification")
Echeance = InputBox("Entrer la date d'écheance maxi (jj/mm/aa):", "Date d'écheance")
If CA = "" Then
Call Initialise
Else
[F5] = CA
Selection.AutoFilter Field:=6, Criteria1:="*" & Range("F4").Value & "*"
Selection.AutoFilter Field:=12, Criteria1:="<=" & Format(Echeance, "0")
Selection.AutoFilter Field:=15, Criteria1:="="
'... la suite
 

mouss2501

XLDnaute Nouveau
Re : Problème de macro

Bonjour et merci mais cela ne fopnctionne pas voici ce que j'ai :

Private Sub Workbook_Open()
Dim CA As String
CA = InputBox("Entrer votre nom ou annuler", "Identification")
Echeance = InputBox("Entrer la date d'écheance maxi (jj/mm/aa):", "Date d'écheance")
If CA = "" Then
Call Initialise
Else
[F5] = CA
Selection.AutoFilter Field:=6, Criteria1:="*" & Range("F4").Value & "*"
Selection.AutoFilter Field:=12, Criteria1:="<=" & Format(Echeance, "0")
Selection.AutoFilter Field:=15, Criteria1:="="
Selection.AutoFilter Field:=6, Criteria1:="*" & Range("F5").Value & "*"
Selection.AutoFilter Field:=15, Criteria1:="="
Range("F5").Select
Columns("B:D").EntireColumn.Hidden = True
Columns("G:G").EntireColumn.Hidden = True
Columns("O:R").EntireColumn.Hidden = True
Columns("T:T").EntireColumn.Hidden = True
Rows("1:6").EntireRow.Hidden = True
Rows("2411:2545").EntireRow.Hidden = True
End If
End Sub
 

SergiO

XLDnaute Accro
Re : Problème de macro

Bonjour,

J'ai corrigé ton code:


Code:
 Private Sub Workbook_Open()
Dim CA As String
CA = InputBox("Entrer votre nom ou annuler", "Identification")
Echeance = InputBox("Entrer la date d'écheance maxi (jj/mm/aa):", "Date d'écheance")
If CA = "" Then
Call Initialise
Else
[F5] = CA
Selection.AutoFilter Field:=6, Criteria1:="*" & Range("F5").Value & "*"
Selection.AutoFilter Field:=12, Criteria1:="<=" & Format(Echeance, "0")
Selection.AutoFilter Field:=15, Criteria1:="="
Range("F5").Select
Columns("B:D").EntireColumn.Hidden = True
Columns("G:G").EntireColumn.Hidden = True
Columns("O:R").EntireColumn.Hidden = True
Columns("T:T").EntireColumn.Hidden = True
Rows("1:6").EntireRow.Hidden = True
Rows("2411:2545").EntireRow.Hidden = True
End If
End Sub

Teste et dis nous.
@+
 

Discussions similaires

Réponses
9
Affichages
157
Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 203
Messages
2 086 193
Membres
103 153
dernier inscrit
SamirN