chercher 1er cellule vide et mettre à jour

  • Initiateur de la discussion Initiateur de la discussion ledom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ledom

XLDnaute Junior
Bonjour tous

Toujours bloqué avec mon fichier et pas de piste !

mon problème 1er debutant 2eme toutes mes données sont sur des feuilles différentes et selectionnées avec des textboxS ou des comboboxS (donc dur dur pour moi de trouver les bonnes adresses)
je cherche (pour avancer) a actualiser ma feuille "clients" en cherchant la dernière cellule vide du client selectionné dans mon combobox 1 puis mettre la somme total "texbox2" suivi de la date du jour mais je rame grave

Une petite piste ! ou un debut de piste SVP car aprés moultes essais je ni arrive pas (je suis au bord de l'abandon !)

Par avance MERCI de me faire avancer un ptit peu

@+ ledom
 

Pièces jointes

Dernière édition:
Re : chercher 1er cellule vide et mettre à jour

Re Tous
Re Hasco

Merci pour ta reponce
Je vois qu'il me manque la base je vais encore bosser
J'ai egalement rajouté la fonction si vide pour mon texbox1 car j'ai remarqué que si vide la date se mettait dans ma 1er cellule vide car la cellule prix total n'est pas remplise

Encore Merci et @+Ledom
 
Re : chercher 1er cellule vide et mettre à jour

Boujour le forum

Voila je pense avoir fini le coté client de mon projet
J'ai fait un petit fichier pour travailler plus facilement puis intégré dans mon fichier essaistock

J'ai rajouté une saisie de nouveau clients

J'aimerais savoir si tout est bon et si j'ai bien bossé ou quelques conseils de modif pour qu'il soit encore mieux car j'ai fait une macro pour trier par ordre alphabétique ma combobox1 et j'ai rajouté dans la saisie du client la fonction si adresse mail vide mettre @ pour que par la suite les données achats s'affichent dans les bonnes colonnes

Par avance Merci et @ + ledom

PS : AH non il me reste a faire une remise de 3 % lors du 10eme achat
 

Pièces jointes

Dernière édition:
Re : chercher 1er cellule vide et mettre à jour

Bonjour.
J'aimerais savoir si tout est bon
Non, enlevez moi tous ces Select !
Ils ne servent à rien. Il sont uniquement là parce que l'enregistreur de macro les a mis quand vous lui avez demandé de forger le squelette de votre procédure. Et s'il l'a fait c'est par fidélité aux manoeuvre effectuées par vous, seulement possibles via des sélections, ce qui n'est plus du tout le cas dans une macro.

Aussi:
Application.Run "Classeur3.xls!trierclients"
Pour une macro interne au classeur:
VB:
Call trierclients
ou
VB:
trierclients
ça suffit.

Cordialement
 
Dernière édition:
Re : chercher 1er cellule vide et mettre à jour

Re tous
Bonjour Dranreb

Ok je vais corriger tout cela

Merci pour ta reponce et je préfère "tu" que "vous" (cela fait comme même deja quelques jours que tu m'aide)

Salutations et @ + ledom
 
Re : chercher 1er cellule vide et mettre à jour

Bonjour ledom,
dranreb🙂

Dans le fichier quelques correction sur la macro de tri (sans select), et le useform1.
Ne pas ustiliser .RowSource. Cette propriété, héritée des contrôle activeX liés des premières version vb est depuis devenue désuette dans la majorité des cas pour VBA.
Elle est souvent source d'erreur.

P.S. signale que ton fichier n'est pas compatible avec les versions antérieures à 2007 (Macro de tri utilise des paramètres et méthodes 2007)

A+
 
Re : chercher 1er cellule vide et mettre à jour

Bonjour Hasco
Ne pas ustiliser .RowSource. Cette propriété, héritée des contrôle activeX liés des premières version vb est depuis devenue désuette dans la majorité des cas pour VBA.
Elle est souvent source d'erreur.
À l'initialiser à l'exécution, c'est vrai qu'il est pratiquement aussi simple d'affecter List. En dehors de celà c'est pourtant bien pratique, surtout si on a pris soin de donner un nom à la plage: on l'indique une bonne fois pour toutes dans les propriétés et on ne s'en occupe plus. Le déconseille tu également ainsi ? Et... pourquoi surtout ? Quels problèmes ou sources d'erreurs risquées ?
À+
 
Re : chercher 1er cellule vide et mettre à jour

Re,
@DranReb🙂

Je la déconseille à tous ceux qui ne maîtrisent pas les contrôles de userForm.
Le forum est truffé de discussions dans lesquelles, les demandeurs se retrouvent le plus souvent avec un message d'erreur 'accès refusé' ou 'erreur non répertoriée' sans comprendre pourquoi alors qu'ils ont essayé de changer une des valeurs du contrôle lié à un rowsource.

Mais si tu maîtrises les contrôles liés et leurs limites, pas de problème.
Si nous pouvions les lier (dans excel) à un recordset par exemple(comme on peut le faire sur un formulaire Access), ils seraient presque parfait.

Mais hélas tel n'est pas le cas. Plus les contrôles sont indépendants de leur source plus il sont souples et offrent de possibilités de manipulation de leurs données.

A+
 
Dernière modification par un modérateur:
Re : chercher 1er cellule vide et mettre à jour

Re tous
Re Hasco
Re Dranreb

Tout d'abord Merci pour tous vos bon conseils qui vont surement me faire avancer, je vais essayer de faire mon maxi puis je reviendrais vers vous


Salutations bon dimanche et @ + ledom
 
Re : chercher 1er cellule vide et mettre à jour

Bonjour,

Comme j'avais fait les tests sur la feuille client Activée, je n'avais pas eu besoin de mettre le fameux '.' (point) devant Range.

voici qui est corrigé, mais tu aurais pu trouver tout seul, ou alors ce qu'on dit ici ne sert à rien.

Code:
Private Sub UserForm_Initialize()
    With Sheets("clients")
        Me.ComboBox1.List = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
    End With
End Sub

A+
 
Re : chercher 1er cellule vide et mettre à jour

Bonjour le forum
bonjour Hasco

Ok je n'ai pas fait attention au with au dessus mais je suis telement dans ma remise de 3% si la cellule 10 eme achat ("Z") est non vide que (excuse moi) j'ai zappé

Pour l'instant le debut fonctionne

Private Sub CommandButton1_Click()
With Sheets("clients")
Dim i As Integer
Dim j As Integer
If TextBox1 = "" Then Exit Sub
i = UserForm1.ComboBox1.ListIndex + 2
.Range("IV" & i).End(xlToLeft)(1, 2) = TextBox1.Value
.Range("IV" & i).End(xlToLeft)(1, 2) = Date

j = .Range("Z" & i)
If j > 0 Then
MsgBox " C'est votre 10eme achat "
End If
End With
Merci encore et @+ ledom
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour