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.
Tu as des possibilités pour voir pourquoi cette erreur
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
@ 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
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
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