Sauter la celulle si la case est vide

saggigo

XLDnaute Occasionnel
bonjour la team.
voilà j'ai un userform qui me renseigne un tableau (par ligne) , mais lorsque je ne remplie pas toutes les cases il me sort le message de débogage.
j'aimerais avoir l'option de pouvoir ne pas remplir les cases à partir du second contact. voici le script:

With Sheets("Base de donnée client")
X = .Cells(Rows.Count, "C").End(xlUp).Row + 1
.Range("B" & X) = Me.Txb_Client
.Range("C" & X) = Me.Cmb_Sect_Acti
.Range("D" & X) = Me.Cmb_Ville
.Range("E" & X) = Me.Txb_Adresse
.Range("F" & X) = Me.Txb_Contact_1
.Range("G" & X) = Me.Txb_Fonction_1
.Range("H" & X) = CLng(Me.Txb_Tel_1)
.Range("I" & X) = Me.Txb_Contact_2
.Range("J" & X) = Me.Txb_Fonction_2
.Range("K" & X) = CLng(Me.Txb_Tel_2)
.Range("L" & X) = Me.Txb_Contact_3
.Range("M" & X) = Me.Txb_Fonction_3
.Range("N" & X) = CLng(Me.Txb_Tel_2)
.Range("O" & X) = Me.Cmb_Besoin
.Range("P" & X) = Me.Cmb_Res_Act



Merci beaucoup pour votre aide.
 

Staple1600

XLDnaute Barbatruc
Re : Sauter la celulle si la case est vide

Bonsoir à tous


Avec un fichier exemple contenant ton userform et ton code VBA, on pourrait faire des tests.

En l'état, on ne peut rien faire d'autre (ou si peu) ;)

(Enfin moi si :
je peux me demander comment un membre inscrit depuis avril 2011 n'a pas encore acquis le réflexe de joindre une PJ à sa question sur le forum ;) )
 

saggigo

XLDnaute Occasionnel
Re : Sauter la celulle si la case est vide

bonjour staple,
je travaille dans un milieu professionnel, et je n'ai pas le droit de tout divulguer. je donne ce que je peux et je pensais que rajouter une ligne serais facile. mais bon c'est vous qui voyez.

mais je ne peux pas donner plus de details. ce que j'aimerais, c'est l'instruction qui fait que si j’exécute le script plus haut et que la ligne:
.Range("I" & X) = Me.Txb_Contact_2
est vide je saute vers la ligne : .Range("O" & X) = Me.Cmb_Besoin

ou si la ligne :
.Range("L" & X) = Me.Txb_Contact_3
je saute vers la ligne : .Range("O" & X) = Me.Cmb_Besoin

voilà.
 

Staple1600

XLDnaute Barbatruc
Re : Sauter la celulle si la case est vide

Re

je travaille dans un milieu professionnel
Très drôle ;)
Et moi j'utilise mes pieds pour marcher et mes oreilles pour entendre ;)

Mais nous sommes dimanche.
Tu as donc tout le loisir de créer un fichier exemple avec des données fictives
(mais contenant un userform et le code VBA proche de celui que tu utilises au boulot)

D'habitude, il est d'usage que le demandeur crée un fichier exemple pour illustrer le problème qu'il rencontre

Poser juste le code VBA implique que ceux qui veulent tenter de t'aider perdent du temps à recréer un fichier qui existe déjà sur ton disque dur.

Il est donc plus simple et plus rapide que le demandeur expurge son fichier existant des données confidentielles et joigne ici une copie.

Mais comme tu le dis (et comme disait Chevalier et Laspales) : C'est vous qui voyez ;)

PS: Ce message est rédigé sur mode amical teintée d'ironie bienveillante
Je préfère préciser avant que ne tombe la volée de bois vert ;)
 
Dernière édition:

saggigo

XLDnaute Occasionnel
Re : Sauter la celulle si la case est vide

:):):)
pour ma pars je travaille dimanche :)
mais ça ne fait rien. voici le fichier joint et merci infiniment :)
 

Pièces jointes

  • Base de données.xlsm
    51.1 KB · Affichages: 51
  • Base de données.xlsm
    51.1 KB · Affichages: 62
  • Base de données.xlsm
    51.1 KB · Affichages: 53

Staple1600

XLDnaute Barbatruc
Re : Sauter la celulle si la case est vide

Re


J'ai nettoyé un peu le code de ton Userform (car il n'y a pas de DTpicker sur ton userform)

Pour ne laisser ces lignes de codes + la procédure Private Sub Valider_Click()
(je n'ai pas copier ici pour gagner de la place)

Et quand je testes ton Userform , je n'ai pas de message de débogage ;)

Sinon, j'ai pas trop compris ce que tu veux dire par sauter la cellule si vide
Code:
Option Explicit

Private Sub Annuler_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
'Se lance à l'ouverture de l'USF
On Error GoTo Err_Init
'en cas d'erreur excel aller à l'adresse Err_Init
Application.EnableEvents = True
'Bloquer de la gestion des évènements
Sortie_Init:    'adresse de sortie
Application.EnableEvents = True
'déblocage de la gestion des évènements
Exit Sub
'sortir de la macro
Err_Init:   'adresse de la gestion des erreur
MsgBox Err.Description, vbCritical, "Erreur n°" & Err.Number
'boîte d'alerte avec n°erreur et description
Resume Sortie_Init
'continuer à l'adresse Sortie_Init
End Sub
 

saggigo

XLDnaute Occasionnel
Re : Sauter la celulle si la case est vide

Merci beaucoup Staple pour ta réponse,
mais toi qui m'a demandé d’insérer une feuille pour tester, tu me remet un code? ou dois-je l’insérer, et comment?
Pourrais-tu s'il possible le mettre dans la feuille pour que je teste ton code?
et ce que je voulais dire est:
lorsque j’insère des données je suis obligé de renseigner tous les champs, même ceux du second et du Troisième contact. hors j'aimerais avoir comme obligation d’insérer que le 1er contact, mais les deux autres doivent être des options.

Merci beaucoup :)
 

Staple1600

XLDnaute Barbatruc
Re : Sauter la celulle si la case est vide

Bonsoir à tous

saggigo
Ta dernière réponse laisserait entendre que tu n'es pas l'auteur du fichier que tu as joint sinon tu saurais où et comment insérer le code VBA dédié à un userform, non ??
Et puisque tu as copié/collé un bout de code VBA dans ton premier message, c'est que tu sais aller chercher le code VBA de l'userform , non ? :p:rolleyes:

Il suffit donc comme je le disais dans mon précédent message (et si seulement si tu veux faire un peu de menage)
Supprimer toutes les procédures contenues dans l'userform sauf celles-ci
Sub Annuler_Click
Sub UserForm_Initialize
Sub Valider_Click()



PS1: Pour infos, si tu lis bien mon précédent message, tu verras que le code VBA que j'ai collé est strictement le même que dans ta PJ et que je ne parle que de faire du ménage dans le code.

PS2: A tort ou à raison, j'ai fait le choix de ne plus joindre de fichier Excel sur XLD, dans l'espoir d'inciter le demandeur à mettre les mains dans le cambouis, à se valoriser en faisant les choses par lui-même ;)
(Donc je ne poste que des formules, des bouts de code VBA, des explications, des conseils, des liens et des digressions ;) )
Il peut m'arriver de joindre des zip contenant des *.bas ou *.frm mais là encore le demandeur devra faire un tit effort pour importer ces lignes de code VBA dans son classeur ;)
 

saggigo

XLDnaute Occasionnel
Re : Sauter la celulle si la case est vide

Bonjour Staple,
la tu ne m'aide absolument pas. j'ai posté le code que je voulais modifier et toi tu modifie ou tu nettoie un autre code. je ne suis pas expert en VBA et je ne veux pas le devenir, ma spécialité est ailleurs. j'utilise les macros que pour m'aider dans mes taches quotidiennes.
apparemment tu voudrais m'obliger à mettre la main dans le cambouis comme tu dis mais je ne veux pas car je n'ai pas le temps.
tu m'a demandé de poster une pièce jointe pour mieux comprendre ma demande ce que tu n'a fait à aucun moment.

cependant je te remercie pour tous les efforts que tu a fait. cependant, je vais essayer de mettre un autre post et s'il te plait n'y réponds pas.
 
Dernière édition: