Re : Incrémenter un n° de commande (Faire plus simple que je l'ai fait…)
Bonjour job75 et à tous,
Voici comment j'ai adapté à mes fins; ce que tu m'as concocté.
Code:
With ActiveSheet
.Cells (R, C).AutoFill .Cells (R, C).Resize (2): .Cells (R, C).Offset (1).Cut .Cells (R, C)
End With
Classeur joint pour montrer le bon résultat quelque soit la longueur
du nom du fournisseur, du séparateur utilisé ou du nombre.
Bravo pour ta réalisation!!!
En plus ici ta déclaration de variable de type String par "$" n'est plus nécessaire,
d'autant que l'objet Range n'est vraiment pas ma tasse de thé… Sauf obligé!
Surprenant, n'est-il pas? Dans cet exemple, toutes les cellules sont de format standard,
et cela fonctionne…
Je pourrais continuer à poursuivre cette méthode, sans essayer de comprendre.
Pour "AutoFill", "Resize" , "Offset" et "Cut"… O.K. il y a explication dans l'aide.
Mais je ne pige pas vraiment le cheminement de la manœuvre, et l'ajout
de +1 aux n° d'ordre des commandes, tient pour moi du mystère!
Que tu aies besoin d'écrire provisoirement dans la ligne du dessous l'est aussi…
Là je dois dire que je suis bluffé…
Albert Einstein disait que la bêtise humaine lui donnait une certaine idée de l'infini.
Vos aides me donnent celle de ce qu'il me reste encore à apprendre.
Maintenant tu peux avantageusement simplifier ton code par :
Code:
With ActiveSheet[COLOR="Red"].Cells(R, C)[/COLOR]
.AutoFill .Resize(2): .Offset(1).Cut .Item(1)
End With
On peut aussi mettre des ScreenUpdating et écrire :
Code:
Private Sub CommandButton1_Click()
Incremente Cells(5, 3)
End Sub
Private Sub CommandButton2_Click()
Incremente Cells(10, 3)
End Sub
Private Sub CommandButton3_Click()
Incremente Cells(15, 3)
End Sub
Sub Incremente(r As Range)
Application.ScreenUpdating = False
r.AutoFill r.Resize(2): r.Offset(1).Cut r
Application.ScreenUpdating = True
End Sub
Re : Incrémenter un n° de commande (Faire plus simple que je l'ai fait…)
Re
Et non, ce n'était pas un sourire (comme ), mais simplement ma façon habituelle de clore mes messages ...
Pour la fonction, elle est à mettre dans un module, puis elle peux être appelée directement dans une cellule (ou dans une sub). Dans ce cas précis, si as besoin d'une RechercheV sur le fournisseur, ta cellule peut être renseignée du style
Code:
=RECHERCHEV(Fournisseur(A10);$G$1:$J$30;2;FAUX)
puisque Fournisseur(A1) renverra "NOM_FOURNISSEUR".
> 10 pour qu'il y ait bien " en 1er caractère et _"####0 à la fin + mini 2 caractères, pour éviter qu'il y ait plantage.
Mid(..., 2, ... - 8) pour supprimer ces mêmes caractères superflus.
Bonne journée
Re : Incrémenter un n° de commande (Faire plus simple que je l'ai fait…)
Re Bonjour à tous,
Merci Paritec, pierrejean, staple1600, JNP, job75, Pascal, Jean-Noël,
Yann (Zut, c'est moi!!!), Maman, Papa... Tous les jours, je voudrais que ça r'commence …You kaïdi aïdi aïda.
Je suis bordé pour les longues soirées d'hiver.
(Dommage qu'il ne pleuve jamais en cette saison dans notre Sud Bretagne)
En plus de m'avoir aidé, vous m'avez donné l'envie d'apprendre encore plus!