mercredi 5 octobre 2011

Où es-tu ?

Aie Aie Aie ! J’espère que vous avez passé une bonne année , pour ma part c’était une année très chargée et je viens de la finir , d'où mon absence totale de la circulation depuis le mois de décembre dernier " Waw ! je n'arrive pas à y croire , le temps passe très vite ! " . Cependant , je vais essayer de réanimer le Blog avec des nouvelles publications passionnantes et je pense que je vais le réorienter vers d'autres domaines ( de ma compétence :p ) a fin qu'il soit plus diversifier .. Toutefois , j'ai mis a votre droite un petit logo de skype qui vous permettra de prendre contacte avec moi et d'echanger des idées , donner des suggestions d'amélioration du Blog , poser des questions ... etc .


Je vous remercie !

Islem M

dimanche 12 décembre 2010

[ Part-1] Travailler avec VBA sous Excel



Bonjour tout le monde ,après une longue période d'absence , je reviens avec un nouveau projet mais cette fois ci sur Excel et VBA (Visual Basic for Application ) . Je vais essayer de vous faire un petit programme simple pour comprendre la logique de programmation et lier les cellules de la feuille de calcul au code VBA , vous allez donc programmer des "Macro" ( ce sont des fonctions que vous programmez au préalable a l'aide du code Visual Basic ). Si vous avez lu l'article précédent sur le "Alarme : Gestionnaire d'évènements version 2 " où on a crée un code a partir de l'environnement visual basic 6 et on a importé et exporté les données de Excel vers VB et réciproquement donc là , le but c'est de travailler tout le code sous Excel . Vous allez me demander quelle est la différence entre ces deux méthodes ?.
La première chose a savoir c'est que le code sera intégrer dans la feuille de calcul Excel alors que lorsqu'on programme avec VB et exporté ou importé les données , ça sera séparé c'est à dire , on a la feuille excel qui sert de base de données et le code sera dans l'exécutable qui est crée avec VB .
C'est vrai que vous pouvez intégrer les formules dans la feuille de calcul directement , mais si vous voulez faire un programme avancé ( Modérément !! ) vous devez travailler avec VBA .
La première procédure a connaitre c'est comment intégrer les données dans les cellules , suivez ces étapes :
N.B : je travaille avec Excel 2007 .
  1. Lancez Excel et faite ( Alt + F11 ) pour lancer le VBA .
  2. Créez un module en cliquant avec le bouton droit de la souris sur la fenêtre "project" ( qui se trouve a votre gauche ) , choisissez "insertion > Module "
  3. Maintenant , on écrit ce code :
Sub remplissage ()
If Cells(1,1) = "" Then ' Vérifie si la cellule (1,1) est rempli .
MsgBox "Veuillez entrer le Nombre d'année" , vbinformation,"Message"
End If
N = Cells(1,1)
For x = 1 To N ' le boucle sert a répéter l'instruction N fois "
Cells(2, x + 2) = "Année" & x 'Affiche dans la ligne 2 , x+1 colonne , le numéro de l'année
Next x
End sub
Avant de lancer le macro , assurez vous bien que vous avez inséré le nombre d'année dans la cellule (1,A) .
Ensuite , allez sur la feuille où vous avez insérer le nombre d'année , et cliquez sur l'onglet affichage , et choisissez "Macro " => remplissage . Vous obtenez une ligne de N colonne .
Par exemple : N= 3
vous aurez : Année 1 Année 2 Année 3 .

Cet article est une introduction seulement , donc je vais essayer de faire des petits code amusant et intéressant : p .

A +

mardi 5 octobre 2010

[Transition] : De retour avec d'autres idées

Bonjour a vous ,

Je suppose que vous vous dites que j'ai arrêté le Blogging !!! , je vous rassure , je suis de retour dans quelques semaines ou quelques jours avec d'autres idées et d'autres projets .
Mais comme j'ai changé de pays alors vous en douter que ça ma pris beaucoup de temps ( démarches administratives) , du coup je n'avais plus le temps de poster sur mon blog .

Alors @ bientôt .

Islem

jeudi 14 janvier 2010

Alarme : Gestionnaire d'évènements version 2 :p


Sur mon dernier article , je vous ai dit que cette application est très basique et elle peut être largement améliorée.
ça reste une version très simple , et qui pourra être largement améliorée :) , par l'ajout d'un historique d'évènements ,amélioration graphique ...ect .
a déclaré Islem dans son précèdent article ... lol

Du coup , j'ai essayé de modifier vu que j'ai rien trouvé à faire ces derniers jours :p , donc je vais tout simplement parler des modifications . La plus importante c'est l'historique des évènements , bof ! c'était une chose facile à faire , j'ai voulu vous laisser essayer ( et moi aussi j'ai essayé vu que je ne savais pas le faire :) ) et maintenant je dévoile la solution :) :p qui n'a rien de spécial .
Bon, j'ai ajouté une autre fenêtre qui gère vos tâches , j'ai modifié l'instruction conditionnelle "if " en ajoutant la comparaison avec la date , donc vous avez une comparaison date et heure , ce qui veut dire que vous pouvais gérer vos tâches du mois ou de l'année .. :p :D
La procédure du Timer n'a pas trop changée

Private Sub Timer1_Timer()
On Error Resume Next
Label1 = Time
Label7 = Date
For i = 0 To 10
If Label1 = time1(i) And Label7 = date1(i) Then
mp.FileName = App.Path & "\newemail.wav"
MsgBox "Votre tache : " & tache(i)
End If
Next i
End Sub
Et voila , la procédure du bouton "Créer des évènements" , le code important seulement .
Private Sub Command1_Click()
On Error Resume Next
For i = 0 To 10
tache(i) = Text1(i)
date1(i) = Text5(i)
time1(i) = Text2(i) & ":" & Text3(i) & ":" & Text4(i)
Next i
For i = 0 To 10
If Text1(i) <> "" Then
Actioninscrire = Inscrire(App.Path & "\Event", Text1(i), i + 1, 1)
If Text2(i) <> "" And Text3(i) <> "" And Text4(i) <> "" Then
Actioninscrire = Inscrire(App.Path & "\Event", Text2(i), i + 1, 2)
Actioninscrire = Inscrire(App.Path & "\Event", Text3(i), i + 1, 3)
Actioninscrire = Inscrire(App.Path & "\Event", Text4(i), i + 1, 4)
List1.AddItem date1(i)
If Text5(i) <> "" Then
Actioninscrire = Inscrire(App.Path & "\Event", Text5(i), i + 1, 5)
End If
End If
End If
Next i
Label2 = List1.ListCount
Actioninscrire = Inscrire(App.Path & "\Event", Label2, 12, 6)
Unload Me
End Sub
La sauvegarde des données ce fait dans un fichier Excel ( c'est mon premier essai ) . L'inconvénient de ce concept c'est la lourdeur de l'application lorsqu'elle charge les données enregistrées mais j'ai pu gérer ça en intégrant un compteur " je l'appel compteur de chargement :p" d'où cette ligne de commande "Label2 = List1.ListCount".
Voici la nouvelle version téléchargement ici , s'il y aura d'autres modifications , je mettrai a jour le lien : )

@Bientot
M.Islem




lundi 21 décembre 2009

Alarme : Gestionnaire d'évènements


Oh ! Je sais que ça fait longtemps que je n’ai pas écrit d’article sur mon blog, là je suis de retour après deux mois d'absence , eh oui , je reviens avec un nouveau petit projet, c’est un gestionnaire d’événements, genre une alarme ou bien un agenda c'est comme vous voulez :) .

Bon, le principe est simple, vous programmez les taches que vous voulez faire pendant votre journée , vous introduisez « Votre tâche » et l’heure où vous devez effectuer cette évènement et à partir de là vous aurez une journée organisée…. :p . Je pense que ça existe dans les téléphones portables :) , mais bon ça sert toujours a quelque chose ce genre d'application , surtout du coté programmation .
Au fait j'ai fais deux programmes , mais je vais vous montrer le code du deuxième programme vu qu'il est plus réussi que le premier :p ( c'est mon avis ) alors que le premier algorithme était un petit peu complexe .
Bon voici la procédure d'ajout des évènements

On Error Resume Next
For i = 0 To 10
msg(i) = Text1(i)
time1(i) = Text2(i) & ":" & Text3(i) & ":" & Text4(i)
If msg(i) <> "" Then
List1.AddItem time1(i) & " -> " & msg(i)
Text1(i) = ""
Label2 = List1.ListCount
End If
Next i
On a déclarer deux tableaux en public dans un module , le premier sert à enregistrer la tache et le second sert à enregistrer l'heure . On peut ajouter autant de Tâche qu'on veut dans notre listbox .
Pour dèclancher notre Alarme , on a tout simplement ajouté un Timer dont la procédure est comme suite:
On Error Resume Next
Label1 = Time
If Label2 = 0 Then
Exit Sub
Else
For i = 0 To List1.ListCount
If Label1 = time1(i) Then
mp.FileName = App.Path & "\newemail.wav"
MsgBox "Votre tache : " & msg(i)
End If
Next i
End If
Grâçe a la boucle "for .. to ... next " , on parcourt notre liste des taches , on a ajouté aussi un signal sonore .
Toutefois , vous pouvez télécharger et tester cette application en cliquant ici , ça reste une version très simple , et qui pourra être largement améliorée :) , par l'ajout d'un historique d'évènements ,amélioration graphique ...ect .
J'ai ajouté quelques trucs que j'ai pas mis sur le blog , vous allez le constater en testant l'application :) .

Si vous avez n'importe qu'elle question n'hésitez surtout pas à me contacter par mail ( vous trouverez mon mail sur mon profil ) :) je serai ravi de vous répondre ;)
N'hésitez pas à me faire part de vos impressions.
@ Bientôt

M.Islem

samedi 26 septembre 2009

Mot de passe du BIOS oublié



Le But de ce petit article c'est de vous montrer comment faire pour la réinitialisation du BIOS (Basic Input Ouput System ) a fin qu'il perde toute trace de mot de passe .
Il existe plusieurs méthodes pour y remédier : Méthodes matérielles et méthodes logicielles , dans cet article , je vais vous montrer une des méthodes matérielles que j'ai testé :-p .
Pourquoi j'ai utilisé une méthode matérielle et pas une méthode logicielle ?
C'est simple , j'avais une machine vraiment infecter de virus , j'avais même pas le droit d'ouvrir un fichier ( doc ,pdf , exe ... ect ) , et même mon antivirus se désactivais tout seul donc , j'ai voulu appliquer un formatage directe afin de désinfecter toute ma machine et j'ai oublié le mot de passe du BIOS :-s .
Cette manœuvre se base essentiellement sur le déplacement du cavalier , qui est rien d'autre qu'une fiche se trouvant sur la carte de mère à proximité de la pile ( la pile sert à régler l'horloge interne de votre ordinateur ) .
Procédure :
  1. Éteigniez et débranchez votre PC ;
  2. Ouvrez le boitier de votre ordinateur , déchargez vous de l'électricité statique ( en touchant une partie métallique de votre unité centrale ) ;
  3. Consultez la documentation de votre carte mère afin de localiser le CAVALIER , si vous n'avez pas de documentation , cherchez sur votre carte mère les inscriptions suivant : CRL BIOS , CLEAR BIOS ,CRL CMOS ,CLEAR CMOS , RESET BIOS ou RESET CMOS . L'image ci dessous illustre le positionnement du cavalier .
  4. Après avoir repérer le cavalier , faites cette manipulation :
- Si le cavalier se trouve sur un connecteur à 3 pins , placez le sur le pin du milieu et le pin non recouvert initialement , patientez une seconde puis remettez le cavalier a sa position d'origine .
- Si le cavalier se trouve sur un connecteur à 2 pins et qu'il n'est branché que sur un seul pin , placez le sur les deux , patientez une seconde puis remettez le a sa position initiale.
5 . Rebranchez le tout et démarrez votre PC , le mot de passe a disparu :-) .

Note : cette procédure est applicable pour les ordinateurs de bureau .

Votez ( Répondre au sondage ) et laissez des commentaires . Merci :-D

M.Islem

jeudi 27 août 2009

Comment supprimer le Winfile.jpg ?


Contrairement a son apparence , Winfile.jpg n'est pas un fichier image comme les autres , c'est tout simplement un virus .
Quelles sont les symptômes qui apparaissent sur votre machine ?
  • Ben , si vous avez un bon antivirus , il va le détecter et l'ignorer ;
  • Vous ne pouvez plus accéder au registre Windows qui est très important ;
  • Vous ne pouvez plus aussi accéder au gestionnaire des taches .
Ces quelques désagréments que j'ai constaté sur ma machine et qui m'a obligé à trouver une solution rapide, efficace sans avoir recourt au formatage.
Comment j'ai constaté l'existence de ce virus ? en plus des points cités précédemment , lorsque j'ai lancé un programme de transfert des fichier (filezilla) j'ai remarqué que Winfile.jpg apparaît sur mon disque dur alors que j'ai fais un nettoyage préalablement mais ....... il était toujours là.
Alors j'ai testé plusieurs logiciel tel que : Combofix , rav , Killbox et en fin Usbfix . Ce dernier m'a désinfecté mon pc .
Comment l'utilisé ?
  • Téléchargez le logiciel sur Usbfix et mettez sur le bureau ;
  • Installez le ;
  • Branchez tous les sources de données externes (flash disque , disque dur externe ...ect ) ;
  • Lancez le programme ;
  • Choisissez "Suppression" afin qu'il supprime l'infection .. lol .
Vous allez avoir les instructions a suivre après exécution.
Note :
Sous Vista : avant de faire les manipulation précédente , Désactivez l'UAC (User Account Control) le temps du nettoyage. Cliquez ici pour voir les manip's .

Je laisse le sondage ouvert .... LOL

M.Islem

mercredi 26 août 2009

Créer vos propre Gadgets !!

Comme le titre l'indique , je vous propose pour mon dernier programme en VB de réaliser une série de gadget Windows , qu'on trouve en téléchargement sur le net chez Yahoo , Google , bon vous allez me dire alors pourquoi se casser la tête a les faire . Bien c'est simple , j'ai voulu voir le principe de fonctionnement de ces gadgets et en plus c'est facile a réaliser , pour ma part j'avais besoin ces derniers jours d'un pense Bête , tout le monde connait ce qu'es que un pense bête ? , Ce type d'application a pour objectif de mémoriser vos taches que vos allez faire plus tard c'est a dire pour ne pas oublier tel ou tel chose , vous l'écrivez sur ce PenseBête [ genre un bloc note ] .
Comment le faire ?
Tout d'abord il faut savoir son principe de fonctionnement , c'est à dire :
  • Il doit s'exécuter au démarrage de votre machine sinon il ne sert a rien ;
  • Il doit être petit et discret ( il ne prend pas beaucoup de place sur l'écran);
  • Il sauvegarde automatique les données que vous écrivez sans confirmer l'enregistrement .
Pour le premier point , c'est simple , après l'installation il doit apparaitre dans le registre windows, dans le dossier [ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] , donc j'ai dû crée un fichier registre ,mais il y a une autre méthode meilleur que celle-la .
Pour le deuxiéme point , j'ai essayé de faire une petite interface et qui a la possibilité de se réduire .
En fin , le dernier point j'ai injecté un Timer afin qu'il enregistre les données a chaque fois que vous écrivez quelque chose , mais je pense que une validation par le bouton "Entrer " du clavier est meilleure .

Voici une partie du code , la plus importante : dans la procédure Form_Load()
Private Sub Form_Load()
On Error GoTo err:

Me.Left = Screen.Width - Me.Width
Open App.Path & "\pensebete.pbc" For Input As #1
txtch = Input(LOF(1), 1)
Close #1
Exit Sub
err: MsgBox "C'est votre premiére utilisation", vbInformation, "Bienvenu"
ShellExecute Me.hwnd, "open", App.Path & "\pb.reg", "", App.Path, 1
End Sub
Là , lorsque vous exécuter l'application , il va ouvrir le fichier de données que vous avez saisi dans une précédente utilisation , s'il ne trouve pas ce fichier , il va afficher le message , et exécuter le fichier pb.reg .

Dans la procédure du Timer
Private Sub tmr_Timer()
On Error Resume Next
Open App.Path & "\pensebete.pbc" For Output As #1
Print #1, txtch
Close #1
Kill App.Path & "\pb.reg"
End Sub
On a création du fichier "pensebete.pbc" qui va contenir les informations que vous allez saisir. Aussi je n'ai pas mis le code mais on a aussi le clic droit [un menu flottant].

Je sais que c'est un code simple , en tout cas laissez des commentaires et répondez au sondage que je viens de mettre sur le blog , si vous le désirez bien sûr :) ;).

Bon ,je vous donne le lien de téléchargement de cette application pense bête version1 afin de l'a tester .

Et je vais aussi mettre le code de l'exécuteur que j'ai présenté.

M.Islem