VBA incrémentation automatique alpha-num.
Résolu
nicodu072
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- VBA incrémentation automatique alpha-num.
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Touche verr num - Guide
- Sommaire automatique word - Guide
10 réponses
Bonjour,
Difficile de comprendre votre problème... !
Est-il possible de voir le dernier fichier pour se rendre compte de la faisabilité ?
Difficile de comprendre votre problème... !
Est-il possible de voir le dernier fichier pour se rendre compte de la faisabilité ?
Bonjour,
Merci Le Pingou de vous pencher sur mon problème.
Le fichier se trouve ici : https://www.cjoint.com/?BHnjWMBw6cX
Cependant, je vais reprendre mes explications précédentes en simplifiant les choses et avec les vrais noms de cellules :
Ma première ligne aura toujours le repérage en G3="A1"
Ma seconde ligne devra comparer plusieurs lignes : Si B4=B3 et si E4=E3 et si F4=F3, alors G4=G3 (soit "A1").
Sinon G4="A2"
Je pense qu'il faut donc faire une boucle WHILE qui dans un premier temps vérifie la présence de texte dans B3 et numérote G3 par "A1" puis passe à la ligne suivante et vérifie si mes conditions sont vraies et que G4 soit égale à G3 si les comparaisons sont vraies et à G3+1 (soit "A2) si les comparaisons sont fausses.
La boucle While serait vraie tant que du texte est présent dans la colonne B3.
Voici le principe que je comptait utiliser :
Sub incrémentation()
'Verifier que du texte est présent dans la cellule B3
If IsNumeric(Range("B3")) Then 'Ici remplacer IsNuméric par une vérification de texte
Range("G3") = "A1"
'Déclaration de la variable
Dim varTexte As String
'Début de la boucle
While (Columns("B:B")) <> "" 'Tant que les cellules de la colonne B sont non vides, la boucle est répétée
'Vérification des conditions
If Range("Ex") = Range("Ex-1) and Range("Bx") = Range("Bx-1) and Range("Fx")=("Fx-1") then' E représente la colonne et x la ligne
Gx = "Gx-1" 'Soit "A1"
Else: Gx = "Gx-1" + 1 'Soit "A2"
End If
Wend
End Sub
Merci de votre réponse.
Merci Le Pingou de vous pencher sur mon problème.
Le fichier se trouve ici : https://www.cjoint.com/?BHnjWMBw6cX
Cependant, je vais reprendre mes explications précédentes en simplifiant les choses et avec les vrais noms de cellules :
Ma première ligne aura toujours le repérage en G3="A1"
Ma seconde ligne devra comparer plusieurs lignes : Si B4=B3 et si E4=E3 et si F4=F3, alors G4=G3 (soit "A1").
Sinon G4="A2"
Je pense qu'il faut donc faire une boucle WHILE qui dans un premier temps vérifie la présence de texte dans B3 et numérote G3 par "A1" puis passe à la ligne suivante et vérifie si mes conditions sont vraies et que G4 soit égale à G3 si les comparaisons sont vraies et à G3+1 (soit "A2) si les comparaisons sont fausses.
La boucle While serait vraie tant que du texte est présent dans la colonne B3.
Voici le principe que je comptait utiliser :
Sub incrémentation()
'Verifier que du texte est présent dans la cellule B3
If IsNumeric(Range("B3")) Then 'Ici remplacer IsNuméric par une vérification de texte
Range("G3") = "A1"
'Déclaration de la variable
Dim varTexte As String
'Début de la boucle
While (Columns("B:B")) <> "" 'Tant que les cellules de la colonne B sont non vides, la boucle est répétée
'Vérification des conditions
If Range("Ex") = Range("Ex-1) and Range("Bx") = Range("Bx-1) and Range("Fx")=("Fx-1") then' E représente la colonne et x la ligne
Gx = "Gx-1" 'Soit "A1"
Else: Gx = "Gx-1" + 1 'Soit "A2"
End If
Wend
End Sub
Merci de votre réponse.
Désolé, cela sera mieux avec ceci : https://www.cjoint.com/?BHnqxj34EK7
Extrayez l'ensemble puis ouvrez l'espace de travail.
Cordialement.
Extrayez l'ensemble puis ouvrez l'espace de travail.
Cordialement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci. Cependant il faut éclairer ma lanterne car il y a 3 fichiers et si j'ouvre n'importe lequel j'ai toujours le classeur [Nomenclature.xlsm] qui s'ouvre ..... Pourquoi ?
Sur quel classeur et feuille se rapporte votre explication .... Pas facile à trouver, pour l'instant sans succès ... !
Merci. Cependant il faut éclairer ma lanterne car il y a 3 fichiers et si j'ouvre n'importe lequel j'ai toujours le classeur [Nomenclature.xlsm] qui s'ouvre ..... Pourquoi ?
Sur quel classeur et feuille se rapporte votre explication .... Pas facile à trouver, pour l'instant sans succès ... !
En effet, lorsque vous ouvrez un fichier, le classeur nomenclature s'ouvre car s'est sur celui-ci que je travail (cependant, il est lié au classeur [Liste des Fournisseurs]).
Donc dans le classeur [Nomenclature], mon problème est pour toutes les feuilles [Liste Matériel XXX].
Mon explication précédente fait référence au classeur [Liste Matériel Aéraulique], où vous retrouverez les colonnes citées dans les explications précédentes.
Le résultat recherché doit se trouver dans la colonne G, appelée "D.T.N°".
Un exemple est réalisé dans cette colonne G à l'aide de formules qui ne me permettent pas d'automatiser mon incrémentation.
La petite partie de programme situé dans une de mes précédentes réponses se trouve également dans le Visual sous "ThisWordbook"de ce classeur.
Veuillez m'excuser pour mon manque de renseignements.
Restant à votre disposition pour compléments d'informations.
Cordialement.
Donc dans le classeur [Nomenclature], mon problème est pour toutes les feuilles [Liste Matériel XXX].
Mon explication précédente fait référence au classeur [Liste Matériel Aéraulique], où vous retrouverez les colonnes citées dans les explications précédentes.
Le résultat recherché doit se trouver dans la colonne G, appelée "D.T.N°".
Un exemple est réalisé dans cette colonne G à l'aide de formules qui ne me permettent pas d'automatiser mon incrémentation.
La petite partie de programme situé dans une de mes précédentes réponses se trouve également dans le Visual sous "ThisWordbook"de ce classeur.
Veuillez m'excuser pour mon manque de renseignements.
Restant à votre disposition pour compléments d'informations.
Cordialement.
Bonjour,
Donc en colonne [G] on incrémente de A1, A2, ....Ax avec position de départ en [G3].
Si c'est correct, la valeur en [G7] devrait-être A5 car [F6] différent de [F7] ... Oui ou Non... !
Donc en colonne [G] on incrémente de A1, A2, ....Ax avec position de départ en [G3].
Si c'est correct, la valeur en [G7] devrait-être A5 car [F6] différent de [F7] ... Oui ou Non... !
Bonsoir,
C'est exacte, je ne vois pas pourquoi la formule n'a pas fonctionné.
En tout cas je vois que vous avez compris le principe ;-).
C'est exacte, je ne vois pas pourquoi la formule n'a pas fonctionné.
En tout cas je vois que vous avez compris le principe ;-).
Bonjour,
Merci pour l'information.
Concerne feuille [Liste Matériel Aéraulique], essayez comme suit :
Cellule [G3] :
Cellule [G4] : =
Salutations.
Le Pingou
Merci pour l'information.
Concerne feuille [Liste Matériel Aéraulique], essayez comme suit :
Cellule [G3] :
=SI(B3<>"";"A1";"")
Cellule [G4] : =
SI(B4<>"";SI(ET(ET(B4=B3;E4=E3);F4=F3);G3;"A"& (STXT(G3;2;2)+1));"")Et tire vers le bas jusqu'à la fin du tableau.
Salutations.
Le Pingou