CONDITION "SI" "OU"

B

br44

Guest
Bonsoir le forum

et oui c'est encore moi pour une nouvelle question .

Dans une feuille j'ai une cellule('C3') qui m'affiche les résultats d'une ListBox contenant les douzes mois de l'année .
De l'autre j'ai un classeur ('archives.xls') qui contient douzes feuilles nomées de 'JANVIER à DECEMBRE' .

Je voudrais pouvoir inserer une condition dans ma procédure de copie afin que :

Si ('C3')est ègal à 'Janvier ou Février ou Mars' ma copie aille dans la feuille corespondante dans mom classeur d'archive c'est-à-dire

JANVIER OU FEVRIER OU MARS .

Ma procédure de copie étant :

Private Sub CommandButton2_(click)
Dim CHEMIN As Strings
Dim Wb As Worbook

CHEMIN= 'c:\\ mon chemin\\'
Set Wb = Workbooks.open(CHEMIN&'ARCHIVES.XLS')
Workbooks('nom du classeur de sauvegarde').sheets('retour').Cells.copy déstination:=Workbooks('ARCHIVES.XLS').Sheets('JANVIER').cells
End Sub
en espérant avoir ètè claire dans ma demande je vous dit merci d'avances de toutes le solution que vous pourez m'aporter et vous dit A PLUS sur ce super forum
BR 44
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir br44,

Peut-être peux-tu essayer quelque chose comme ça :
Private Sub CommandButton2_click()
Dim CHEMIN As String        'Attention à ta syntaxe br44 !
Dim Wb As Workbook
Dim F As String

      F = MajSansAccent(ActiveSheet.Range('C3').Value)
      CHEMIN = 'c:\mon chemin\'
      Set Wb = Workbooks.Open(CHEMIN & 'ARCHIVES.XLS')
      Workbooks('nom du classeur de sauvegarde').Sheets('retour').Cells.Copy déstination:= _
                  Workbooks('ARCHIVES.XLS').Sheets(F).Cells
End Sub
_____________________________________________________________________________________

Function MajSansAccent$(ByVal Chaine$)
'Auteur : Ti
'Lien XLD : Lien supprimé
      Const VAccent = 'àáâãäåéêëèìíîïðòóôõöùúûü', VSsAccent = 'aaaaaaeeeeiiiioooooouuuu'
      Dim Bcle&
      If Len(Chaine) > 0 Then
            For Bcle = 1 To Len(VAccent)
                  Chaine = Replace(Chaine, Mid(VAccent, Bcle, 1), Mid(VSsAccent, Bcle, 1))
            Next Bcle
            MajSansAccent = UCase(Chaine)
      End If
End Function
Cordialement,
 
B

br44

Guest
re bonsoir le forum

je suis complétement perdu hier ma procédure de copie fonctionnait aujourd'hui elle plante .

voici le message d'erreur qui s'affiche il conserne la derniére ligne de la procédure :

ERREUR D'EXECUTION:'1004'

Erreur définie par l'application ou par l'objet .

2°) pour toi myDearFriend

j'ai modifier ta formule en supprimant la fonction (j'ai remplacer les minuscules de la listebox en majuscules) .j'ai donc racourci la variable F

F= ActiveSheet.Range('c3').value
et j'ai ramplacer sheets('JANVIER').Cells par Sheets('F') .Cells
cela me donne le message d'erreur suivant :

ERREUR D'EXECUTION '9' : L'indice n'appartient pas à la sélection .

Si vous avez une solution à mes problémes où une autres réponse pouvant me donner la même chose ,toute aide seras la bienvenue ,vous remerciants tous et toutes ,et toi aussi mdf je vous dit à plus sur le forum
BR44
 

br44

XLDnaute Impliqué
RE : Bonsoir le forum,bonsoir Didier mdf

merci pour avoir fait repéré mon erreur et mille et une exuses pour cette FAUTE D'INATENTION .

J'ai rectifier mais j'ai toujour une erreur '1004 sur la dernière ligne de la procédure .

d'aprés l'aide excel (qui n'est pas trés clair pour le néophite que je suis) il s'agirait d'un problème de :

WORKBOOK,propriété qui aurait besoin d'un identifieur d'ojet ,mais de la à savoir ou le placer c'est un mystére ? (et boule de gomme) :)

Si toi où le forum aviais une solution ce serais génénial.

en attendant de vous relire je vous remerci par avence et vous dit

A BIENTOT
BR44
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir br44, le Forum,

Apparamment, la ligne qui générait l'ERREUR D'EXECUTION '9' (que tu as maintenant corrigée) n'est donc pas la dernière ligne de la procédure... alors c'est quoi cette ligne qui cause problème ? Si je me réfère aux bribes de code plus haut dans ce fil, moi je n'en vois pas d'autre....

Si tu souhaites qu'on t'aide br44, peut-être faudrait-il que tu Lien supprimé (épuré des données inutiles ou confidentielles bien-sûr)... ou à défaut, nous présenter ici la procédure entière telle qu'elle est actuellement, me paraîtrait une bonne idée...

Cordialement,
 
B

br44

Guest
re: bonsoir le forum ,bonsoir Didier mdf

pour répondre à ton dernier message le beug se produit sur la partie de la procédure suivante :(d'aprés le vba d'excel c'est la partie qui me met en jaune quand je click sur débeugage).

Workbooks('nom du classeur de sauvegarde').Sheets('retour').Cells .copy déstination:= Workbook('ARCHIVES.XLS').Sheets(F).Cells

désolé je ma suis mal exprimer dans mon dernier message quand je parlais de dernière ligne ,je voulais dire dernière partie de la procédure .(je l'avais rentrer sur une seule ligne à la base sur mon programe avant de le modifier :eek: ).

D'autres part je suis tout à fait prêt a mettre mon fichier sur le forum ,mais il faut que le prèpart .je n'es pas le temps pour le moment pour cause professionnelle . Pour infos j'ai déjas mis une version sur le forum mais ne sachant la manip pour créer un liens ?

je mettrais le fichier à dispo se week-end .

te remerciant de ta solisitude ,ainsi qu'à tout le forum je vous dis donc a plus br44
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir br44,

Je crois que je viens de comprendre... depuis le départ (et dans mon propre code ci-dessus également ! :S ), le nom de l'argument 'Destination' est mal orthographié : il faut écrire 'Destination' et non 'stination' !... arf.... copier-coller s'est pratique mais bon....

Essaye donc comme ça pour voir :
Workbooks('nom du classeur de sauvegarde').Sheets('retour').Cells .copy Destination:= _
            Workbook('ARCHIVES.XLS').Sheets(F).Cells
Cordialement,
 
B

br44

Guest
re bosoir le forum ,bonsoir Didier mdf


CA MARCHE J'AI TESTER merci beaucoup cela va me permetre d'avancer .

je vais laiser quand même un fichier d'exemple sur ce fil ce week-end avec d'autres questions si tu à un peut de temps pour regarder se serais genial

pour le cas ou tu aurais des solutions ouvre un fil du style :


testbr ou repbr en fin quelques chose que je puisse inditifier facilement pour pouvoir te répondre facilement .

si tu es OK accuse récption de ce message sur se fil .


En espérant te relire bientot et te remerciant à nouveau de ton aide je te dis A PLUS ET BONNE SOIREE


br44
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir br44,

Non, non je ne suis pas vraiment d'accord lol... :p

Tout d'abord, je ne souhaite pas être ton unique interlocuteur et pour info, dans ce Forum, on n'ouvre pas de fil de discussion à l'attention d'une personne particulière... c'est un Forum de partage avant tout !

Par contre, comme je suppose que tes nouvelles questions ne seront plus vraiment en phase avec le sujet du présent fil, je te conseillerais d'ouvrir, toi, un nouveau fil destiné à la communauté et auquel tout à chacun pourra répondre s'il le souhaite...

Bonne soirée à toi également et bon week-end.
 

Statistiques des forums

Discussions
314 655
Messages
2 111 602
Membres
111 216
dernier inscrit
mauphico