[VBA] Probleme transfert Userform/Excel Excel/Userform sur Base de donnés

Papaille

XLDnaute Nouveau
Bonsoir!

Je suis nouveau sur ce site, un ami m'a conseillé de faire appel à vous car je suis un peu coincé au niveau de ma programmation.

J'explique vite fais:

Mon Logiciel doit servir a gérer une entreprise de musique. j'ai donc un fichier pour le personnel, les clients, factures, articles etc...

j'ai donc crée tous les userforms, ainsi que les formules pour les relier entre eux (machin.hide, truc.show)

Pour le moment, j'arrive a faire défiler les différentes lignes de la base de donnée au moyen d'une barre de défilement. J'ai crée un bouton "Ajouter" sensé ajouter une ligne a la base de données, et ensuite écrire une nouvelle ligne (j'ai pas encore paramétré les contrôles)

Le problème c'est que ça marche, mais il me renvoi un message d'erreur au niveau du "Range".

"La méthode range de l'Objet "global" a échoué"

Voila ma la programmation en question
Private Sub ADD_personnel_Click()
Call Ecrire_Personnel
If Range("B & compteur+2") <> "" Then ' <BUG A CE NIVEAU LA
Rows(compteur + 3).Insert
ActiveWorkbook.Names.Add "Fichier_Emploi_Travail_Type", "=Fichier_Emploi!$B$3$F" & compteur + 3
Call Paramètres_Defilement_Personnel
Else
Beep
réponse = MsgBox("Une nouvelle fiche existe déja", vbInformation, "OUPS!")
Name_personnel.SetFocus
End If
Defilement_personnel = compteur
Num_personnel = Defilement_personnel.Value
Call Raz_personnel
End Sub

Private Sub back_Click()
Fichier_Personnel.Hide 'Permet de retourner au menu
End Sub
'Se déplacer d'une employé à l'autre au moyen de la barre de défilement
Private Sub Défilement_personnel_Change()

Num_personnel = Défilement_personnel.Value
If Num_personnel > 0 And Sheets("Fichier_Emploi").Range("B" & Num_personnel + 2) <> "" Then
Call Lire_Personnel
Call Ecrire_Personnel
End If
Name_personnel.SetFocus
End Sub



Sub Lire_Personnel()
With Sheets("Fichier_Emploi")
Name_personnel = .Range("B" & Num_personnel + 2)
Firstname_personnel = .Range("C" & Num_personnel + 2)
Work_Personnel = .Range("F" & Num_personnel + 2)
Age_personnel = .Range("E" & Num_personnel + 2)
Genre_personnel = .Range("D" & Num_personnel + 2)
End With
End Sub

Sub Ecrire_Personnel()
With Sheets("Fichier_Emploi")
.Range("B" & Num_personnel + 2) = Name_personnel
.Range("C" & Num_personnel + 2) = Firstname_personnel
.Range("D" & Num_personnel + 2) = Genre_personnel
.Range("E" & Num_personnel + 2) = Age_personnel
.Range("F" & Num_personnel + 2) = Work_Personnel
End With
End Sub

Sub Raz_personnel()
Firstname_personne = ""
Name_personnel = ""
Work_Personnel = ""
Age_personnel = ""
Genre_personnel = ""


End Sub
'Regler paramètres de la barre de défilement
Sub Paramètres_Defilement_Personnel()
compteur = Range("Fichier_Emploi!Travail_Type").Rows.Count
Defilement_personnel.Max = compteur
Defilement_personnel.SmallChange = 1
Select Case Defilement_personnel.Max
Case 0 To 2
Defilement_personnel.LargeChange = 1
Case 2 To 10
Defilement_personnel.LargeChange = 2
Case 10 To 20
Defilement_personnel.LargeChange = 4
Case Else
Defilement_personnel.LargeChange = Defilement_personnel.Max / 10
End Select
End Sub


Pour plus de renseignement je suis la :).

Merci Beaucoup pour vos réponses !
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : [VBA] Probleme transfert Userform/Excel Excel/Userform sur Base de donnés

Bonsoir,

et bienvenue...

essai plutôt avec cette syntaxe :

Code:
If Range("B" & compteur + 2) <> "" Then

note la position du deuxième "

Bonne soirée
 

Discussions similaires

Réponses
6
Affichages
202

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla