Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2011, 17h02   #1
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Par défaut Test colonne et ajout 1 à la dernière cellule vide

Bonjour,

Voici ma recherche:

j'ai une colonne avec A1 à A10 dedans chiffre de 1à 10

J’aimerai pouvoir dans un userform tester la dernier cellule d ans ce cas ci [A10] encodé pour proposer dans mon userform la valeur 11 dans un textbox

Alors là...si qq1 ma compris je serai sur le c.. !!!
Bon weekend à toutes et tous...profiter car la pluie arrive

Bien à vous Tim.
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 17h10   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonjour,

Une solution à adapter..:
Code :
1
2
3
4
5
6
7
8
 
Private Sub UserForm_Initialize()
 Dim iDer As Integer
 With ThisWorkbook.Sheets("Feuil3")
    iDer = .Range("A1").CurrentRegion.Rows.Count
    TextBox1 = Val(.Cells(iDer, 1)) + 1
 End With
End Sub
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/09/2011, 17h51   #3
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
trop cool...bbil...!!!

j'ai plus qu'a plonger dans mon programme qui avance et qui avance...C'est trop chouette...ce language...petit bout par petit bout.

Merci de votre aide bbil.

Bon weekend.

Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 17h13   #4
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Par défaut compteur

voilà,

j'aurai voulu suite au petit code de bbil,qu'une fois la valeur iDer connu que cette valeur s'ajoute à la cellule suivante...

A1=1
A2=2
A3=3
etc...
valeur iDer= 4
j'aimerai que cette valeur A4=4 s'affiche dans la cellule A4 physiquement et ça en cliquant à chaque fois sur un commandButton1.

D'avance merci.
Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 18h39   #5
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Si la ligne 1 est celle des titres, à chaque clique sur CommandButton1, le nouveau compteur s'inscrit de suite en colonne A
Code :
1
2
3
4
5
6
7
8
Private Sub CommandButton1_Click()
Dim iDer As Long
 
With Worksheets("Feuil2")                                  'à adapter
    iDer = .Cells(.Rows.Count, "A").End(xlUp).Row
    .Range("A" & iDer + 1) = Val(.Range("A" & iDer)) + 1
End With
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 21h15   #6
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Merci Mercatog,

C’est bien ce que je souhaitai faire mais une fois placé dans mon petit programme, je me rends compte d'un défaut...c'est à dire qu'alors il ne faut pas qu'il assigne une nouvelle valeur à chaque clic si la cellule à coté de la nouvelle valeur est vide.

par exemple:

colonneA= nom
colonneB= prénom
colonneC= liste de iDer

je rentre 3 noms en A1, A2 et A3
je rentre 3 prénoms en B1, B2 et B3
le code de mercatog génère 1, 2 et 3

mais si je clic encore sur le commandBouton ben il continue à générer 4,5, etc...alors que je n'ai pas encore rentré le 4eme nom...à partir de mon userForm.

Merci pour votre aide...j'espère être assez clair

Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 21h26   #7
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Comment tu transfère tes données de ton userform vers la feuille?
C'est là qu'il faut intégrer l'essence du code proposé par Bbil.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 21h36   #8
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
excusez moi je comprends pas trés bien la question !!!

ce que bbil ma proposé fonctionne et vous aussi mais lorsque je clic secessivement sur mon bouton sans rentrer d'autre nom le code continu à compter...

par exemple si je rentre 3 clients avec nom, prénom et le numéro 1,2 et 3 généré c'est ok mais si je continu à cliquer sur mon bouton le code continu à compter alors que je n'ai pas encore rentré les noms suivant...

j'aurai aimer qu'à chaque clic le code vérifie si la colonne Nom en cellule[A3] est vide ou non si vide il bloque la comptage

merci pour l'aide.

Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 21h49   #9
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Tu as répondu à ta question
Code :
1
2
3
4
5
6
7
8
Private Sub CommandButton1_Click()
Dim iDer As Long
 
With Worksheets("Feuil2")                                  'à adapter
    iDer = .Cells(.Rows.Count, "C").End(xlUp).Row
    If .Range("A" & iDer + 1) <> "" Then .Range("C" & iDer + 1) = Val(.Range("C" & iDer)) + 1
End With
End Sub
Sinon, tu as un userform avec 2 textbox (le 1er pour le nom, le 2ème pour le prénom)
L'utilisateur remplit ces 2 textbox et clique sur un bouton pour transférer les données vers la première ligne vide de ta feuille.
Si c'est ça, alors c'est à ce moment que tu transfère vers la feuille aussi ton compteur
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 22h19   #10
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Merci bcp Mercatog...c'est très motivant de savoir que l'on peut compter sur vous...personnellement ça aide beaucoup.

Je vais approfondir...!!!

bone soirée.
Tim

un petit hik...
c'est que ça fonctionne si je ne trie pas la colonne "C" donc,
si C1 =1,C2=2etc... c'est ok

par contre si je trie par rapport au nom par ordre alphabétique ben la il me fait des doublons ...
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 22h44   #11
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Je propose que tu approfondie d'abord la question
les codes précédent permettent d'ajouter 1 au dernier N° de la colonne C
Si les N° ne sont pas ordonnés, tu peux utiliser la max de la colonne C comme référence à qui tu ajoute 1
Exemple
Code :
1
2
3
4
5
6
7
8
Private Sub CommandButton1_Click()
Dim iDer As Long
 
With Worksheets("Feuil2")                                  'à adapter
    iDer = .Cells(.Rows.Count, "C").End(xlUp).Row
    If .Range("A" & iDer + 1) <> "" Then .Range("C" & iDer + 1) = Application.Max(.Range("C:C")) + 1
End With
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h43.


 
 
 
 
Partenaires

Hébergement Web