Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Icrementation automatique

  • Initiateur de la discussion Initiateur de la discussion jacky
  • 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 !

J

jacky

Guest
Bonjour a tous,

J' aimerais incrementer automatiquement dans l' ordre les cellules Q11, t11, W11,Z11,AC11,AF11, AI11,AL11, AP11,AS11, AV11,AY11,BB11,BE11,BH11, Bk11,BO11,BR11,BU11,BX11,CA11,CD11,CG11 et CJ11 exemple ci dessous suivant la condition choisie(Ø,A,AA,A1,0,1) dans la combobox quand je click sur le button.

Voir fichier joint.

Merci pour votre aide
 

Pièces jointes

Re : Icrementation automatique

Bonjour,

Cela doit être faisable, une formule un peu longue (six conditions), mais une question au préalable :
Pourquoi fusionner des cellules, alors qu'il suffit d'élargir les colonnes ou de déplacer les valeurs d'une cellule vers la droite ?
 
Re : Icrementation automatique

Bonjour le fil, bonjour le forum,

Oui je plussoie Hoerwind, c'est chiant de bosser avec des cellules fusionnées... En piece jointe ton fichier modifié et commenté. J'ai rajouté un bouton pour lancer l'UserForm...
Le code :
Code:
Private Sub CommandButton1_Click()
Dim pl As Range 'déclare la variable pl (PLage)
Dim vi As Variant 'déclare la variable vi (Valeur Initiale)
Dim i As Byte 'déclare la variable i (incrément)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim pc As String 'déclare la variable pc (Premier Caractère)

vi = Me.ComboBox1.Value 'définit la valeur intiale
Unload Me 'vide et ferme l'Userform
'définit la palge pl
Set pl = Application.Union(Range("Q11"), Range("T11"), Range("W11"), Range("Z11"), Range("AC11"), Range("AF11"), Range("AI11"), Range("AL11"), Range("AP11"), Range("AS11"), _
    Range("AV11"), Range("AY11"), Range("BB11"), Range("BE11"), Range("BH11"), Range("BK11"), Range("BO11"), Range("BR11"), Range("BU11"), Range("BX11"), Range("CA11"), _
    Range("CD11"), Range("CG11"), Range("CJ11"))
    
pl.Value = "" 'efface les anciennes valeurs
Select Case vi 'agit en fonction de la valeur intiale
    Case "Ø", "A", "AA" 'cas "Ø", "A" et "AA"
        pl(1, 1).Value = IIf(vi = "Ø", "Ø", "") 'écrit dans la première cellle de la plage ("Ø", si vi = "Ø", sinon rien)
        pc = IIf(vi = "AA", "A", "") 'définit le premier caractère ("A" si vi = "AA", sinon rien)
        i = 1 'initialise l'incrément i
        For Each cel In pl 'boucle sur toutes les cellule de la plage pl
            If cel.Value <> "" Then GoTo suite1 'si la cellule n'est pas vide va à l'étiquette "suite1"
            cel.Value = pc & Split(Columns(i).Address(0, 0), ":", -1)(1) 'place dans cel le premier caractère pc et l'adresse (que la colonne) de i
            i = i + 1 'incrémente i
suite1:     'étiquette
        Next cel 'prochaine cellule de la boucle
        
    Case 0, 1, "A1" 'cas o, 1 et "A1"
        pl(1, 1).Value = IIf(vi = "A1", "A1", "") 'écrit dans la première cellle de la plage ("A1", si vi = "A1", sinon rien)
        pc = IIf(vi = "A1", "A", "") 'définit le premier caractère ("A" si vi = "A1", sinon rien)
        i = Right(vi, 1) 'définit la valriable i (le derneir caractère de vi)
        For Each cel In pl 'boucle sur toutes les cellule de la plage pl
            If cel.Value <> "" Then GoTo suite2 'si la cellule n'est pas vide va à l'étiquette "suite2"
            cel.Value = pc & i 'place dans cel le premier caractère pc et i
suite2:     'étiquette
            i = i + 1 'incrémente i
        Next cel 'prochaine cellule de la boucle
End Select 'fin de l'action en fonction de vi
End Sub
Le fichier :
 

Pièces jointes

Re : Icrementation automatique

Bonjour,

Un essai par formule en T11 à recopier vers la droite, en laissant vide les cellules AO11 et similaire :
Code:
=SI(NBCAR($Q11)>1;SI(ESTNUM(CNUM(DROITE($Q11;1)));GAUCHE($Q11;1)&CNUM(DROITE($Q11;1)+NBVAL($Q11:Q11));GAUCHE($Q11;1)&CAR(CODE(DROITE($Q11;1))+NBVAL($Q11:Q11)));SI(ESTNUM($Q11);$Q11+NBVAL($Q11:Q11);SI($Q11=CAR(65);CAR(CODE($Q11)+NBVAL($Q11:Q11));SI($Q11=CAR(216);CAR(CODE("A")+NBVAL($Q11:Q11)-1);""))))
 
Re : Icrementation automatique

Bonjour JBOBO,

Merci pour ta formule (elle fonctionne jusqu' a t11 je vois pas ce que tu veux dire en laissant vide les cellules ao11 et bn11 car je ne peux pas étirer vers la droite.

@+
 
Re : Icrementation automatique

re Bonjour,

Ok je te remerci c super.
J' ai posé un autre petit problème sur le forum ce matin pour une liste des onglets dans combobox avec condition d' affichage. Pourrais tu me dire si c'est realisable.
Merci
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…