Sub Extraire() Application.ScreenUpdating = False Sheets("Menu").Range("Menu").ClearContents With Sheets("Données") .Select .Range("A2:AE474").AdvancedFilter Action:= _ xlFilterCopy, CriteriaRange:=. _ Range("Critères"), CopyToRange:= _ .Range("A1000"), Unique:úlse .Range("a1000:aa1100").Copy End With Sheets("Menu").Select Range("a2").Select Selection.PasteSpecial Paste:=xlValues, Operation:= _ xlNone, SkipBlanks:úlse, Transpose:úlse Range("a1").Select Sheets("Données").Range("extrait").Clear bAjour = True End Sub
Pouvez vous m'aider ?
Merci d'avance.
Nicolas.k
Nicolas.k
Erreur définie par l'application ou par l'objet Ce message s'affiche lorsqu'une erreur générée par la méthode Raise ou l'instruction Error ne correspond pas à une erreur ..... etc
rien de bien interessant !
Erreur définie par l'application ou par l'objet
Ce message s'affiche lorsqu'une erreur générée par la méthode Raise
ou l'instruction Error ne correspond pas à une erreur ..... etc
Erreur définie par l'application ou par l'objet Ce message s'affiche lorsqu'une erreur générée par la méthode Raise ou l'instruction Error ne correspond pas à une erreur ..... etc
rien de bien interessant !
RCR
boh ... jusque ici la seul chose que je vois c'est que bAjour n'est pas déclarer comme booléen ... si non ... quand tu fit un pas à pas ... ça s'arrête ou ...
moi pour déboger j'utilise:
- Le pas à pas - les Msgbox (pratique pour savoir à tout moment ce que tu as comme valeur dans une variable) - et les On Error (quite à en mettre à chaque ligne et les enlever petit a petit)
redit moi sur quel instruction il plante ... a mon avis ce n'est qu'une question de type d'argument ...
Raph.
"Nicolas.k" a écrit dans le message de news:
Erreur définie par l'application ou par l'objet Ce message s'affiche lorsqu'une erreur générée par la méthode Raise ou l'instruction Error ne correspond pas à une erreur ..... etc
rien de bien interessant !
boh ... jusque ici la seul chose que je vois c'est que bAjour n'est pas
déclarer comme booléen ... si non ... quand tu fit un pas à pas ... ça
s'arrête ou ...
moi pour déboger j'utilise:
- Le pas à pas
- les Msgbox (pratique pour savoir à tout moment ce que tu as comme valeur
dans une variable)
- et les On Error (quite à en mettre à chaque ligne et les enlever petit a
petit)
redit moi sur quel instruction il plante ... a mon avis ce n'est qu'une
question de type d'argument ...
Raph.
"Nicolas.k" <nico-k@fr.st> a écrit dans le message de news:
1126090180.880267.180170@g47g2000cwa.googlegroups.com...
Erreur définie par l'application ou par l'objet
Ce message s'affiche lorsqu'une erreur générée par la méthode Raise
ou l'instruction Error ne correspond pas à une erreur ..... etc
boh ... jusque ici la seul chose que je vois c'est que bAjour n'est pas déclarer comme booléen ... si non ... quand tu fit un pas à pas ... ça s'arrête ou ...
moi pour déboger j'utilise:
- Le pas à pas - les Msgbox (pratique pour savoir à tout moment ce que tu as comme valeur dans une variable) - et les On Error (quite à en mettre à chaque ligne et les enlever petit a petit)
redit moi sur quel instruction il plante ... a mon avis ce n'est qu'une question de type d'argument ...
Raph.
"Nicolas.k" a écrit dans le message de news:
Erreur définie par l'application ou par l'objet Ce message s'affiche lorsqu'une erreur générée par la méthode Raise ou l'instruction Error ne correspond pas à une erreur ..... etc
rien de bien interessant !
michdenis
Bonjour Nicolas,
| Voici un morceau du macro qui est mis en cause :
Je pense que ton problème doit venir de ta zone de critère :
Est-ce que ta plage "Critères" existe réellement comme plage nommée ? Est-ce que l'étiquette dans ta zone de critère existe vraiment (pas d'erreur d'orthographe, respect de la casse...)
Est-ce que tu as une formule comme critère ?
Sans plus de précision, il est difficile de savoir quel est le problème avec ta zone de critères !
Salutations!
Bonjour Nicolas,
| Voici un morceau du macro qui est mis en cause :
Je pense que ton problème doit venir de ta zone de critère :
Est-ce que ta plage "Critères" existe réellement comme plage nommée ?
Est-ce que l'étiquette dans ta zone de critère existe vraiment (pas d'erreur d'orthographe, respect de la casse...)
Est-ce que tu as une formule comme critère ?
Sans plus de précision, il est difficile de savoir quel est le problème avec ta zone de critères !
Je pense que ton problème doit venir de ta zone de critère :
Est-ce que ta plage "Critères" existe réellement comme plage nommée ? Est-ce que l'étiquette dans ta zone de critère existe vraiment (pas d'erreur d'orthographe, respect de la casse...)
Est-ce que tu as une formule comme critère ?
Sans plus de précision, il est difficile de savoir quel est le problème avec ta zone de critères !
Salutations!
Nicolas.k
Si si bAjour est déclaré. Voici le code en entier entier ! !
Dim bAjour As Boolean Dim cFeuActive As String Sub Changefeuilles() ThisWorkbook.OnSheetDeactivate = "Traitements" bAjour = False 'variable qui controle exactitude des données de sélection End Sub
Sub titreef() End Sub
Sub traitements() Application.ScreenUpdating = False cFeuActive = ActiveSheet.Name If ActiveSheet.Name = "macro" Then Exit Sub If ActiveSheet.Name = "Données" Then bAjour = False Exit Sub End If If bAjour = False Then Extraire Sheets(cFeuActive).Select End If End Sub Sub rechercherb() ActiveSheet.Range("a3").Select DialogSheets("Recherche").Show End Sub
Sub cherche() aliment = DialogSheets("Recherche").EditBoxes(1).Text
On Error GoTo GestionErreur Cells.Find(What:=aliment, After:¬tiveCell, _ LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder _ :=xlByColumns, SearchDirection:=xlNext, MatchCase:úlse _ ).Select DialogSheets("Recherche").EditBoxes(2).Text = ActiveCell.Value Exit Sub GestionErreur: DialogSheets("Recherche").EditBoxes(2).Text = "--------- Aucun ! -----------" End Sub
Sub décaler() ActiveCell.Offset(0, 1).Select End Sub
Sub lectureAliments() echoix = Sheets("Utiles").Range("C3").Value Select Case echoix Case 1: ePos = 4 Case 2: ePos = 10 Case 3: ePos = 18 Case 4: ePos = 29 End Select ActiveWindow.ScrollColumn = ePos End Sub Sub lecturemenu() echoix = Sheets("Utiles").Range("C8").Value Select Case echoix Case 1: ePos = 4 Case 2: ePos = 10 Case 3: ePos = 18 Case 4: ePos = 29 Case 5: ePos = 35 Case 6: ePos = 43 End Select ActiveWindow.ScrollColumn = ePos End Sub
Sub lectureBesoins() echoix = Sheets("Utiles").Range("C3").Value Select Case echoix Case 1: ePos = 3 Case 2: ePos = 7 Case 3: ePos = 15 End Select ActiveWindow.ScrollColumn = ePos End Sub
Sub RAZ() If MsgBox("Effacer les masses ?", vbOKCancel + vbCritical) = 1 Then _ Sheets("Données").Range("B3:C500").ClearContents End Sub
Sub Extraire() Application.ScreenUpdating = False Sheets("Menu").Range("Menu").ClearContents With Sheets("Données") .Select .Range("A2:AE474").AdvancedFilter Action:= _ xlFilterCopy, CriteriaRange:=. _ Range("Critères"), CopyToRange:= _ .Range("A1000"), Unique:úlse .Range("a1000:aa1100").Copy End With Sheets("Menu").Select Range("a2").Select Selection.PasteSpecial Paste:=xlValues, Operation:= _ xlNone, SkipBlanks:úlse, Transpose:úlse Range("a1").Select Sheets("Données").Range("extrait").Clear bAjour = True End Sub
Si si bAjour est déclaré. Voici le code en entier entier ! !
Dim bAjour As Boolean
Dim cFeuActive As String
Sub Changefeuilles()
ThisWorkbook.OnSheetDeactivate = "Traitements"
bAjour = False 'variable qui controle exactitude des données de
sélection
End Sub
Sub titreef()
End Sub
Sub traitements()
Application.ScreenUpdating = False
cFeuActive = ActiveSheet.Name
If ActiveSheet.Name = "macro" Then Exit Sub
If ActiveSheet.Name = "Données" Then
bAjour = False
Exit Sub
End If
If bAjour = False Then
Extraire
Sheets(cFeuActive).Select
End If
End Sub
Sub rechercherb()
ActiveSheet.Range("a3").Select
DialogSheets("Recherche").Show
End Sub
Sub cherche()
aliment = DialogSheets("Recherche").EditBoxes(1).Text
On Error GoTo GestionErreur
Cells.Find(What:=aliment, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder _
:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False _
).Select
DialogSheets("Recherche").EditBoxes(2).Text = ActiveCell.Value
Exit Sub
GestionErreur:
DialogSheets("Recherche").EditBoxes(2).Text = "--------- Aucun !
-----------"
End Sub
Sub décaler()
ActiveCell.Offset(0, 1).Select
End Sub
Sub lectureAliments()
echoix = Sheets("Utiles").Range("C3").Value
Select Case echoix
Case 1: ePos = 4
Case 2: ePos = 10
Case 3: ePos = 18
Case 4: ePos = 29
End Select
ActiveWindow.ScrollColumn = ePos
End Sub
Sub lecturemenu()
echoix = Sheets("Utiles").Range("C8").Value
Select Case echoix
Case 1: ePos = 4
Case 2: ePos = 10
Case 3: ePos = 18
Case 4: ePos = 29
Case 5: ePos = 35
Case 6: ePos = 43
End Select
ActiveWindow.ScrollColumn = ePos
End Sub
Sub lectureBesoins()
echoix = Sheets("Utiles").Range("C3").Value
Select Case echoix
Case 1: ePos = 3
Case 2: ePos = 7
Case 3: ePos = 15
End Select
ActiveWindow.ScrollColumn = ePos
End Sub
Sub RAZ()
If MsgBox("Effacer les masses ?", vbOKCancel + vbCritical) = 1 Then
_
Sheets("Données").Range("B3:C500").ClearContents
End Sub
Sub Extraire()
Application.ScreenUpdating = False
Sheets("Menu").Range("Menu").ClearContents
With Sheets("Données")
.Select
.Range("A2:AE474").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=. _
Range("Critères"), CopyToRange:= _
.Range("A1000"), Unique:=False
.Range("a1000:aa1100").Copy
End With
Sheets("Menu").Select
Range("a2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("a1").Select
Sheets("Données").Range("extrait").Clear
bAjour = True
End Sub
Si si bAjour est déclaré. Voici le code en entier entier ! !
Dim bAjour As Boolean Dim cFeuActive As String Sub Changefeuilles() ThisWorkbook.OnSheetDeactivate = "Traitements" bAjour = False 'variable qui controle exactitude des données de sélection End Sub
Sub titreef() End Sub
Sub traitements() Application.ScreenUpdating = False cFeuActive = ActiveSheet.Name If ActiveSheet.Name = "macro" Then Exit Sub If ActiveSheet.Name = "Données" Then bAjour = False Exit Sub End If If bAjour = False Then Extraire Sheets(cFeuActive).Select End If End Sub Sub rechercherb() ActiveSheet.Range("a3").Select DialogSheets("Recherche").Show End Sub
Sub cherche() aliment = DialogSheets("Recherche").EditBoxes(1).Text
On Error GoTo GestionErreur Cells.Find(What:=aliment, After:¬tiveCell, _ LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder _ :=xlByColumns, SearchDirection:=xlNext, MatchCase:úlse _ ).Select DialogSheets("Recherche").EditBoxes(2).Text = ActiveCell.Value Exit Sub GestionErreur: DialogSheets("Recherche").EditBoxes(2).Text = "--------- Aucun ! -----------" End Sub
Sub décaler() ActiveCell.Offset(0, 1).Select End Sub
Sub lectureAliments() echoix = Sheets("Utiles").Range("C3").Value Select Case echoix Case 1: ePos = 4 Case 2: ePos = 10 Case 3: ePos = 18 Case 4: ePos = 29 End Select ActiveWindow.ScrollColumn = ePos End Sub Sub lecturemenu() echoix = Sheets("Utiles").Range("C8").Value Select Case echoix Case 1: ePos = 4 Case 2: ePos = 10 Case 3: ePos = 18 Case 4: ePos = 29 Case 5: ePos = 35 Case 6: ePos = 43 End Select ActiveWindow.ScrollColumn = ePos End Sub
Sub lectureBesoins() echoix = Sheets("Utiles").Range("C3").Value Select Case echoix Case 1: ePos = 3 Case 2: ePos = 7 Case 3: ePos = 15 End Select ActiveWindow.ScrollColumn = ePos End Sub
Sub RAZ() If MsgBox("Effacer les masses ?", vbOKCancel + vbCritical) = 1 Then _ Sheets("Données").Range("B3:C500").ClearContents End Sub
Sub Extraire() Application.ScreenUpdating = False Sheets("Menu").Range("Menu").ClearContents With Sheets("Données") .Select .Range("A2:AE474").AdvancedFilter Action:= _ xlFilterCopy, CriteriaRange:=. _ Range("Critères"), CopyToRange:= _ .Range("A1000"), Unique:úlse .Range("a1000:aa1100").Copy End With Sheets("Menu").Select Range("a2").Select Selection.PasteSpecial Paste:=xlValues, Operation:= _ xlNone, SkipBlanks:úlse, Transpose:úlse Range("a1").Select Sheets("Données").Range("extrait").Clear bAjour = True End Sub
Et l'erreur 1004 n'apparait que quand je change de feuille.
Nicolas.k
RCR
Ah oui ... j'ai déja eu le problème a ce moment la ...
mais je ne sait plus vraiment ce que j'ai fait pour y remédier ... essai peut être de mettre une instruction qui séléctionne la feuille avant chaque instruction qui pose problème ...
je te retien au courrent :-) ...
"Nicolas.k" a écrit dans le message de news:
Et l'erreur 1004 n'apparait que quand je change de feuille.
Nicolas.k
Ah oui ... j'ai déja eu le problème a ce moment la ...
mais je ne sait plus vraiment ce que j'ai fait pour y remédier ... essai
peut être de mettre une instruction qui séléctionne la feuille avant chaque
instruction qui pose problème ...
je te retien au courrent :-) ...
"Nicolas.k" <nico-k@fr.st> a écrit dans le message de news:
1126097601.063000.30730@o13g2000cwo.googlegroups.com...
Et l'erreur 1004 n'apparait que quand je change de feuille.
Ah oui ... j'ai déja eu le problème a ce moment la ...
mais je ne sait plus vraiment ce que j'ai fait pour y remédier ... essai peut être de mettre une instruction qui séléctionne la feuille avant chaque instruction qui pose problème ...
je te retien au courrent :-) ...
"Nicolas.k" a écrit dans le message de news:
Et l'erreur 1004 n'apparait que quand je change de feuille.
Nicolas.k
Nicolas.k
N'etant pas spécialiste du domaine, pourrais tu detailler ?
merci!
Nicolas
N'etant pas spécialiste du domaine, pourrais tu detailler ?