Excel Base de données et VBA

evilfire

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je viens vers vous aujourd'hui afin de quérir votre aide pour un fichier assez difficile à créer (enfin très difficile pour moi). On m'a dit qu'il était impossible de le faire sous excel qui ne serait pas assez poussé pour réaliser ce fichier.

Je cherches à créer un fichier excel (obligatoire on m'impose cet outils et interdiction d'utiliser Access :s)

Je souhaiterais avoir différentes rubriques à savoir :

nom
prenom
lieu
service
poste
date visite
motif visite (plusieurs choix dont autre avec possibilité d'écrire)
prochaine visite (soit obligatoire et là en fonction du post il donnerait la fréquence (exemple tout les 3 mois)) ou alors une date que l"on écrit soit même)
contre indication (jour/nuit ; charge lourdre ; position de travail ; autres)

J'ai déjà modifié un fichier pour avoir une incrémentation automatique à la suite dans un tableau excel (je peux reprendre le fichier)

Mais là j'aurais voulu pouvoir taper par exemple un numéro (qui serait associé à chaque personne) afin que dans le formulaire moi je tape ce nombre et il me redonne toutes les données sur la personne correspondant au numéro. Puis qu'une fois mes modifications faites, je valide et que cela modifie les données existantes et non pas rajoute une ligne.

Je sais que je demande quelque chose de très très poussé, mais sachant que je vais devoir faire cela pour un nombre très important de personne je souhaiterais automatiser pour faciliter le travail par la suite...

Je remercie d'avance toutes les personnes qui apporteront leur aide, et celles qui passeront lire également.

Merci d'avance

J.R.
 
C

Compte Supprimé 979

Guest
Re : Excel Base de données et VBA

Salut Evilfire,

Tu as des possibilités pour voir pourquoi cette erreur :rolleyes:

1) Tu peux afficher la fenêtre d'exécution (CTRL+G) dans VBE
ensuite dans ton code défaillant tu mets un point d'arrêt (F9) et tu lances ton code
Ensuite dans la fenêtre d'éxécution tu tapes :
Code:
Debug.Print TextBox12.Value
puis Entrée, tu vois la valeur
puis tu tapes
Code:
Debug.Print .Range(NumLig).End(xlToLeft).Address
et entrée, tu vois la valeur (à mon avis ICI message d'erreur)

2) Tu peux ajouter des espions
Tu sélectionnes le code que tu veux espionner
Menu Débogage -> Ajouter espion

A toi d'essayer ;)
 

evilfire

XLDnaute Nouveau
Re : Excel Base de données et VBA

Bonsoir Bruno,
Bonsoir tout le monde,


@ Bruno : je viens de voir ton message je fais ce que tu me dis et effectivement il me remet le même message d'erreur que ce qu'il m'affiche d'habitude. Mais il ne me dis pas ce qu'il faut faire pour le corriger ce problème hihi

@llez j'y retourne il faut bien que je trouve quand même :p

Merci de l'indication
 
C

Compte Supprimé 979

Guest
Re : Excel Base de données et VBA

Re,

Le GROS problème est là
Code:
ActiveRow.Range(NumLig).End(xlToLeft).Address
Ca ne veux absolument rien dire :confused:

Un range est obligatoirement composé d'une lettre pour la colonne + un chiffre pour la ligne

ActiveRow n'existe pas ?

Le code est plutôt de ce type, du moins je pense
Code:
  With Sheets("Histoperiodique")
    ' Numéro de la ligne = 1 (entête tableau) + numéro de la ligne choisie + 1 (car combobox commence à 0)
    NumLig = 1 + Me.Cb_ChoixNom.ListIndex + 1
    Dim DateHisto As String
    DateHisto = .Cells(NumLig, 256).End(xlToLeft).Value
    If TextBox12.Value <> DateHisto Then
      .Cells(NumLig, 256).End(xlToLeft).Offset(0, 1) = TextBox12.Value
    End If
  End With

A+
 
Dernière modification par un modérateur:

evilfire

XLDnaute Nouveau
Re : Excel Base de données et VBA

bonsoir Skoobi, Re Bruno, Bonsoir le fil,

Pour la ligne qui pose problème oui je l'avais bien ciblé.

Le range oui je sais c'est
Range(row, column)
je devais mettre
Range(NumLig, 256 ou IV)

Mais ça coincé toujours quand je le fesais. Ma ligne la plus proche dans ce que j'ai essayé été :

If TextBox12.Value <> Range(NumLig, 256).End(xlToLeft).Adress

Il me mettait une erreur aussi. Le fait que j'ai eu faut peut il être du au fait que je mettais la valeur directement sans passer par un :

En tout cas je tente demain matin la modifications, là ma compagne va râler si je replonge dessus :D

Je vous dis ça demain matin.

Merci à vous du fond du coeur pour toute l'aide que vous m 'apportez.

J'espère qu'une fois finie nous serons tous satisfait du résultat ;)
 

ChTi160

XLDnaute Barbatruc
Re : Excel Base de données et VBA

Salut
Bonjor le Fil
Bonjour le Forum
arff je vois que ce fil traite et cela je pense pour une raison qui n'a rien à voir avec la difficulté d'utiliser VBA lol
Ci dessous une procédure (exemple) qui fait je pense , ce qui est demandé
il suffisait de bien écrire dans un premier temps le Mot Address et non Adress
et de bien définir la cellule de départ de la recherche exemple : .Range("IV" & NumLig) ou .Cells(NumLig, 256)
Sub test()
Dim NumLig As Long
NumLig = 2
With Worksheets("Feuil1")
MsgBox .Range("IV" & NumLig).End(xlToLeft).Address
Msgbox .Cells(NumLig, 256).End(xlToLeft).Address
End With
End Sub
en espérant avoir fait avancer le Chimilimblic Lol
Bonne Journée
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa