Problème avec une macro.

C

Cyril

Guest
Bonjour,

J'avai laissé un post sur ce forum y'a 2 jours concernant un problème de macro pas évident à expliquer. On m'a répondu mais celà ne collait pas avec ce que je cherchai. Disons que j'ai pas réussit à me faire comprendre.

Plutôt que de vous expliquer je vous met à disposition l'énoncé du problème povenant d'un sujet d'examen de l 'an dernier (vous l'aurez compris je suis en révision ;) ). Vous trouverez 2 feuilles. Je bloque à la question 2 avec cette macro à associer. Merci d'avance pour votre aide, celà m'évitera de m'arracher les cheveux :).

Voici le fichier à votre disposition: <http://perso.wanadoo.fr/twister.c/Excel.zip>

Cyril.
 
C

Cyril

Guest
Je suis entrain d'halluciner devant mon PC. Je te re file mon fichier pour que tu puisses voir où j'en suis. Je suis sur que c'est un truc tout simple qui me débloquera la situation mais là j'y arrive pas, il me sort toujours la même ligne même si le critère de sélection change. Je suis entrain de me demander si mon excel n'a pas un problème lol.

<http://perso.wanadoo.fr/twister.c/Classeur1.zip>


La macro associé avec la liste modifiable est la macro 3.
 
C

carl

Guest
bonjour,

j'ai un probleme avec mon excel 2000 je ne peux plus ouvir un fichier en cliquant dessus depuis l"explorateur windows 98, je recois une fenetre excel avec tous les outils et les commandes grises

merci de me répondre
 
@

@+Thierry

Guest
Re Salut Cyril

Bon alors c'est moi qui hallucine maintenant, tu n'as même pas regardé le fichier que je t'ai fais avec capture écran du 26-04-03 18:26, ou alors tu n'a pas les yeux en face des trous !!!

Ce n'est pas ton Excel qui a un problème c'est toi !! lol

Elle est où la cellule liée dans ta Zone de Liste Modifiable ???? Et puis le reste !!! la formule Concaténer ??? Tu n'as vraiment même pas essayer de comprendre quoique ce soit dans le fichier que je t'ai fait !

Bon voilà ton devoir terminé, mais bon, je me demande si je te rends service, mais j'ai pas vraiment envie de faire un record de post encore !!!

J'espère que tu comprendras ce que j'ai fait


Bonjour Carl

Ce fil de discussion n'a rien à voir avec ton problème. A priori, je ne comprends pas ce qui ce passe, mais fais un nouveau sujet dans le forum et explique-toi un peu mieux (par exemple arrives-tu au moins à ouvrir Excel normalement et ouvrir le fichier en question depuis Excel etc...)

Bonne Nuit
@+Thierry
 
C

Cyril

Guest
Bien reçu le fichier. Sâche que j'ai passé un moment à essayer de faire ce que tu as fait avec la cellule liée et la formule Concaténer. J'ai essayé de l'appliquer sur mon devoir mais comme je t'ai dit j'avai un problème qui m'a bloqué et de rare j'avai oublié de sauvegardé ce que j'avai tenté de faire, c'est pour sa que dans mon fichier il n'y avait pas ce que j'ai tenté de faire.

Ne crois pas que je vais prendre ce que tu m'as fait sans le regrader ni le comprendre, c'est pas mon genre.

En tout cas merci pour ta précieuse aide, sa aura pris du temps mais au moins c'est finalement fait. Me reste plus qu'à comprendre pourquoi et où je me suis planté là où tu as réussit à faire.

Merci pour tou, ainsi qu'à tous ceux qui ont contribué à m'aider.

A+
Cyril.
 
M

matosor

Guest
salut à tous

j'ai suivit ce fil de dicusion mais je voudrais une info suplémentaire, je m'explique :

j'ai une base de donnée excel:
et j'ai besoin de faire un fitre sur des dates mais il faut en plus que je rentre les critères par une userform

bon je maitrise les userform

j'avait tout d'abort penser faire ça avec un filtre automatique personnaliser (car j'ai besoin de deux critères: une date max et une date min)
et de rentrer les critère dans le fitre en les définisant comme des variables
renseigné par des userform

mais quand j'écrit:
dim date1 as date
dim date2 as date
Range("A1:M2").Select
Selection.AutoFilter
Selection.AutoFilter field:=10, Criteria1:=">date1", Operator:=xlAnd, _
Criteria2:="<=date2"

il croit que
que date1 et date2 sont du texte

merci d'avance!

@+
 
@

@+Thierry

Guest
Bonjour Matosor, les gens de cet ancien fil, et le Forum

Je pense que tu n'as pas été regarder le fil que j'ai mis en lien dans mon post ci-dessus du 24-04-03 12:41...

Mais je pense qu'avec un filtre élaboré comme dans l'exemple II de ma démo devrait te sortir d'affaire...

Je te remet les liens...

Démo téléchargeable => Lien supprimé (25k)

Fil de discussion Lien supprimé


Maintenant on peut aussi faire un AutoFilter piloté par VBA pour une recherche entre deux dates inclusives... On peut le faire !!! Voici un code pour un AutoFilter pour filtrer entre deux dates inclusives...

Mais il faut une feuille dédiée pour recevoir les Critères "Date"

Option Explicit

Sub DateAutoFilter()
Dim DateFrom As Long
Dim DateTo As Long
Dim WS1 As Worksheet, WS2 As Worksheet

With ThisWorkbook
Set WS1 = .Sheets(1)
Set WS2 = .Sheets(2)
End With

DateFrom = WS2.Range("A1")
DateTo = WS2.Range("A2")


WS1.Range("A1").AutoFilter Field:=1, Criteria1:=">=" & DateFrom, Operator:=xlAnd, Criteria2:="<=" & DateTo
End Sub

Donc il suffira d'avoir les deux date dans une autre feuille en "A1" et "A2"

Bon Appétit
@+Thierry
 
M

matosor

Guest
salut

escusez moi pour ne pas vous avoir répondu mais j'était en vacances


désolé @+Thierry mais ton truc y marche pas
il me rentre bien les valeurs dateto et datefrom dans le filtre automatique personaliser mais il me vire tous alors qu'il devrai me sortir au moins une dixène de ligne

C'est peut etre parce que j'ai récupéré mes dates dans un userform

en tous cas voila mon code

Sub control()

'désactivation des filtres présents
Worksheets("ref instrument").Activate
If ActiveSheet.AutoFilterMode = True Then Selection.AutoFilter

'déclaration variables
Dim delai As Variant
Dim dateto As Variant
Dim datefrom As Variant

'affectation des userforms
delai = choix.delai_e.Value


'affectation des valeurs de dateto et datefrom en fonction de la valeur de delai
If delai = "1 semaine" Then
dateto = Date
datefrom = val_d + 7
ElseIf delai = "2 semaines" Then
dateto = Date
datefrom= val_d + 14
ElseIf delai = "1 mois" Then
dateto = Date
datefrom = val_d + 30
ElseIf delai = "3 mois" Then
dateto = Date
datefrom = val_d + 90
End If

' filtrage des données en fonction des valeur des différents paramètres
Worksheets("ref instrument").Range("A1:M1000").Select
If delai = "" Then
Else: Selection.AutoFilter field:=10, _
Criteria1:=">=" & dateto, _
Operator:=xlAnd, _
Criteria2:="<=" & datefrom
End If
Worksheets("ref instrument").Range("a1").Select
End Sub
 
@

@+Thierry

Guest
Bonjour Matosor, les Gens de ce Fil, le Forum

Le mieux serait de poster un fichier exemple avec ton UserForm afin que l'on puisse mieux voir de quoi il s'agit, car là mis à part que tu ne devrais certainement pas déclarer tes variables as Variant, mais selon toute vraissemblance as Date pour DateTo and DateFrom et probalement as Integer pour Delai... (sans aucun test).

De plus, tes noms de contrôles n'étant pas conventionels, je ne sais pas si choix.delai_e est une TextBox ou autre chose... Idem pour "val_d"... De plus "Date" est un nom réservé en VBA donc je ne sais pas si déjà çà peut fonctionner...

Enfin donc un exemple de ton fichier avec UserForm sera le bienvenu.

Bon Week End
@+Thierry
 
M

matosor

Guest
bonjour a tous

merci de ta réponce @+Thierry
voila mon fichier
pour que je puise le mettre en pièce joint j'ai du virer une bonne partie des entrée de la base de donné

merci de filer un petit coup de main

matosor
 

Pièces jointes

  • m.zip
    46.4 KB · Affichages: 13
  • m.zip
    46.4 KB · Affichages: 10
  • m.zip
    46.4 KB · Affichages: 26
M

mery

Guest
Retour chariot excel

Salut
J'ai comme sortie de mon programme C un fichier excel
Le probleme est que les '\n' c-à-d les retours chariot sont considérées comme des saut vers d'autres cellule
Et docn je ne sais pas commen tfaire pour ecrire un retour chariot dans une meme cellule
 

Discussions similaires