J'ai un bouton qui sur une feuille 1 m'inc=E9rmente mon num=E9ro de 1 en
B12, et je suis ravie !
C'est donc :
Dim Compteur As String
Range("B12").NumberFormat =3D "######"
Compteur =3D Range("B12").Value
Range("B12").Value =3D Compteur + 1
Et j'ai aussi :
Une feuille 2 avec un bouton qui incr=E9mente de 1 en B8 avec :
Dim Compteur As String
Range("B8").NumberFormat =3D "######"
Compteur =3D Range("B8").Value
Range("B8").Value =3D Compteur + 1
Mais ce que j'aimerais c'est :
Si j'active le bouton de la feuille 1 il faut aussi incr=E9menter le
chiffre en B8 de la feuille 2
.=2E.et invers=E9ment
Si j'active le bouton de la feuille 2 il faut aussi incr=E9menter le
chiffre en B12 de la feuille 1
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
Il te suffit dès lors d'une seule macro, associée à chacun de tes boutons. Sub Increment() Feuil1.Range("b12") = Feuil1.Range("b12") + 1 Feuil2.Range("b8") = Feuil2.Range("b8") + 1 End Sub
En ajoutant éventuellement tes lignes de mise en format. Note que Feuil1 et Feuil2 représentent les noms VBA des feuilles, et non pas les noms d'onglet. De cette façon, si l'utilisateur modifie le nom d'un des onglets, la macro fonctionne toujours. Tu peux trouver les noms VBA des feuilles dans l'explorateur de projet, et tu peux les modifier pour qu'ils soient plus explicites.
Okl?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Alba" a écrit dans le message de news:
Bonjour,
J'ai juste un petit soucis d'incrémentation.
J'ai un bouton qui sur une feuille 1 m'incérmente mon numéro de 1 en B12, et je suis ravie ! C'est donc : Dim Compteur As String Range("B12").NumberFormat = "######" Compteur = Range("B12").Value Range("B12").Value = Compteur + 1
Et j'ai aussi :
Une feuille 2 avec un bouton qui incrémente de 1 en B8 avec :
Dim Compteur As String Range("B8").NumberFormat = "######" Compteur = Range("B8").Value Range("B8").Value = Compteur + 1
Mais ce que j'aimerais c'est :
Si j'active le bouton de la feuille 1 il faut aussi incrémenter le chiffre en B8 de la feuille 2
...et inversément
Si j'active le bouton de la feuille 2 il faut aussi incrémenter le chiffre en B12 de la feuille 1
Donc il me manque un épisode !!!
Bonjour
Il te suffit dès lors d'une seule macro, associée à chacun de tes boutons.
Sub Increment()
Feuil1.Range("b12") = Feuil1.Range("b12") + 1
Feuil2.Range("b8") = Feuil2.Range("b8") + 1
End Sub
En ajoutant éventuellement tes lignes de mise en format.
Note que Feuil1 et Feuil2 représentent les noms VBA des feuilles, et non pas
les noms d'onglet. De cette façon, si l'utilisateur modifie le nom d'un des
onglets, la macro fonctionne toujours.
Tu peux trouver les noms VBA des feuilles dans l'explorateur de projet, et
tu peux les modifier pour qu'ils soient plus explicites.
Okl?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Alba" <veroniqueb@bluewin.ch> a écrit dans le message de news:
1142761579.022076.225000@j33g2000cwa.googlegroups.com...
Bonjour,
J'ai juste un petit soucis d'incrémentation.
J'ai un bouton qui sur une feuille 1 m'incérmente mon numéro de 1 en
B12, et je suis ravie !
C'est donc :
Dim Compteur As String
Range("B12").NumberFormat = "######"
Compteur = Range("B12").Value
Range("B12").Value = Compteur + 1
Et j'ai aussi :
Une feuille 2 avec un bouton qui incrémente de 1 en B8 avec :
Dim Compteur As String
Range("B8").NumberFormat = "######"
Compteur = Range("B8").Value
Range("B8").Value = Compteur + 1
Mais ce que j'aimerais c'est :
Si j'active le bouton de la feuille 1 il faut aussi incrémenter le
chiffre en B8 de la feuille 2
...et inversément
Si j'active le bouton de la feuille 2 il faut aussi incrémenter le
chiffre en B12 de la feuille 1
Il te suffit dès lors d'une seule macro, associée à chacun de tes boutons. Sub Increment() Feuil1.Range("b12") = Feuil1.Range("b12") + 1 Feuil2.Range("b8") = Feuil2.Range("b8") + 1 End Sub
En ajoutant éventuellement tes lignes de mise en format. Note que Feuil1 et Feuil2 représentent les noms VBA des feuilles, et non pas les noms d'onglet. De cette façon, si l'utilisateur modifie le nom d'un des onglets, la macro fonctionne toujours. Tu peux trouver les noms VBA des feuilles dans l'explorateur de projet, et tu peux les modifier pour qu'ils soient plus explicites.
Okl?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Alba" a écrit dans le message de news:
Bonjour,
J'ai juste un petit soucis d'incrémentation.
J'ai un bouton qui sur une feuille 1 m'incérmente mon numéro de 1 en B12, et je suis ravie ! C'est donc : Dim Compteur As String Range("B12").NumberFormat = "######" Compteur = Range("B12").Value Range("B12").Value = Compteur + 1
Et j'ai aussi :
Une feuille 2 avec un bouton qui incrémente de 1 en B8 avec :
Dim Compteur As String Range("B8").NumberFormat = "######" Compteur = Range("B8").Value Range("B8").Value = Compteur + 1
Mais ce que j'aimerais c'est :
Si j'active le bouton de la feuille 1 il faut aussi incrémenter le chiffre en B8 de la feuille 2
...et inversément
Si j'active le bouton de la feuille 2 il faut aussi incrémenter le chiffre en B12 de la feuille 1
Donc il me manque un épisode !!!
Alba
Merci de ta réponse Pierre
Je crois bien que je m'emmêle les pinceaux avec les noms Mais il y a aussi sur ce boutons une autre commande que je voudrais garder.
Je place ta solution au dessus avec le nom de feuilles mais il me dis une grossièrté !
"Erreur de compilation End Sub attendu" Il y est le "End sub"....tout en bas !!!
Est-ce que je dois laissé le nom "Feuil1" et le nom "Feuil9" avant ou pas ???
Suis un peu perdue là !
Voilà ce que j'ai pour ce bouton :
'Nouveau N° facture et efface les données pour nouvelle facture
Private Sub CommandButton3_Click()
Sub Increment()
Feuil1("Facture dentiste").Range("b12") = Sheets("Facture dentiste").Range("b12") + 1 Feuil9("Facture long traitement").Range("b8") = ("Facture long traitement").Range("b8") + 1
Range("D9:F13").Select Selection.ClearContents ActiveWindow.SmallScroll Down:=6 Range("A20").Select ActiveCell.FormulaR1C1 = "informe que ses honoraires pour soins donnés du au " Range("A22").Select ActiveWindow.SmallScroll Down: Range("A29:C41").Select Selection.ClearContents Range("F46").Select Selection.ClearContents Application.Run "'Modèle facture Dentiste .xls'!Aveclabo" Application.Run "'Modèle facture Dentiste .xls'!Sanslabo"
La grossièreté vient du fait que tu as "sub increment" après "Private Sub"... De plus, tu dois avoir des lignes en rouge, car il y a des problèmes de syntaxe.
sheets("Facture dentiste").range("b12") utilise le nom de l'onglet Feuil1.range("b12") utilise le nom VBA de la feuille. Tu dois utiliser l'un ou l'autre, mais pas les deux...
Avec les noms d'onglets, tu auras Private Sub CommandButton3_Click()
sheets("Facture dentiste").Range("b12") = Sheets("Facture dentiste").Range("b12") + 1 sheets("Facture long traitement").Range("b8") = sheets("Facture long traitement").Range("b8") + 1 ... ... End Sub Dans ce cas, si l'utilisateur change le nom de l'onglet, ta macro plantera puisqu'elle ne trouvera pas l'onglet...
Avec les noms VBA, tu auras Private Sub CommandButton3_Click()
Feuil1.Range("b12") = Feuil1.Range("b12") + 1 Feuil9.Range("b8") = Feuil9.Range("b8") + 1 ... ... End Sub Dans ce cas, si l'utilisateur modifie le nom de l'onglet, la macro fonctionnera puisqu'elle n'utilise pas le nom de l'onglet mais bien le nom VBA de la feuille.
Après, tu utilises le code propre à chaque bouton.
Tu peux aussi utiliser la macro Increment au sein des autres macros. Dans un module standard, tu crées Sub Increment() feuil1.range("b12")þuil1.range("b12")+1 feuil9.range("b8")þuil9.range("b8")+1 end sub
Et dans la maro évènementielle du bouton Private Sub CommandButton3_Click() Increment ... ... End Sub Les ... représentant la suite de ton code, propre à chaque bouton
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Bonjour
La grossièreté vient du fait que tu as "sub increment" après "Private
Sub"...
De plus, tu dois avoir des lignes en rouge, car il y a des problèmes de
syntaxe.
sheets("Facture dentiste").range("b12") utilise le nom de l'onglet
Feuil1.range("b12") utilise le nom VBA de la feuille.
Tu dois utiliser l'un ou l'autre, mais pas les deux...
Avec les noms d'onglets, tu auras
Private Sub CommandButton3_Click()
sheets("Facture dentiste").Range("b12") = Sheets("Facture
dentiste").Range("b12") + 1
sheets("Facture long traitement").Range("b8") = sheets("Facture long
traitement").Range("b8") + 1
...
...
End Sub
Dans ce cas, si l'utilisateur change le nom de l'onglet, ta macro plantera
puisqu'elle ne trouvera pas l'onglet...
Avec les noms VBA, tu auras
Private Sub CommandButton3_Click()
Feuil1.Range("b12") = Feuil1.Range("b12") + 1
Feuil9.Range("b8") = Feuil9.Range("b8") + 1
...
...
End Sub
Dans ce cas, si l'utilisateur modifie le nom de l'onglet, la macro
fonctionnera puisqu'elle n'utilise pas le nom de l'onglet mais bien le nom
VBA de la feuille.
Après, tu utilises le code propre à chaque bouton.
Tu peux aussi utiliser la macro Increment au sein des autres macros.
Dans un module standard, tu crées
Sub Increment()
feuil1.range("b12")þuil1.range("b12")+1
feuil9.range("b8")þuil9.range("b8")+1
end sub
Et dans la maro évènementielle du bouton
Private Sub CommandButton3_Click()
Increment
...
...
End Sub
Les ... représentant la suite de ton code, propre à chaque bouton
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
La grossièreté vient du fait que tu as "sub increment" après "Private Sub"... De plus, tu dois avoir des lignes en rouge, car il y a des problèmes de syntaxe.
sheets("Facture dentiste").range("b12") utilise le nom de l'onglet Feuil1.range("b12") utilise le nom VBA de la feuille. Tu dois utiliser l'un ou l'autre, mais pas les deux...
Avec les noms d'onglets, tu auras Private Sub CommandButton3_Click()
sheets("Facture dentiste").Range("b12") = Sheets("Facture dentiste").Range("b12") + 1 sheets("Facture long traitement").Range("b8") = sheets("Facture long traitement").Range("b8") + 1 ... ... End Sub Dans ce cas, si l'utilisateur change le nom de l'onglet, ta macro plantera puisqu'elle ne trouvera pas l'onglet...
Avec les noms VBA, tu auras Private Sub CommandButton3_Click()
Feuil1.Range("b12") = Feuil1.Range("b12") + 1 Feuil9.Range("b8") = Feuil9.Range("b8") + 1 ... ... End Sub Dans ce cas, si l'utilisateur modifie le nom de l'onglet, la macro fonctionnera puisqu'elle n'utilise pas le nom de l'onglet mais bien le nom VBA de la feuille.
Après, tu utilises le code propre à chaque bouton.
Tu peux aussi utiliser la macro Increment au sein des autres macros. Dans un module standard, tu crées Sub Increment() feuil1.range("b12")þuil1.range("b12")+1 feuil9.range("b8")þuil9.range("b8")+1 end sub
Et dans la maro évènementielle du bouton Private Sub CommandButton3_Click() Increment ... ... End Sub Les ... représentant la suite de ton code, propre à chaque bouton
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Alba
"Tu dois utiliser l'un ou l'autre, mais pas les deux... "
D'acc ! Ouf dis donc ! Je commence a m'y retrouver
Ceci est donc bien plus logique tu as raison : Private Sub CommandButton3_Click()