Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1672 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Code alpha numérique automatique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Code alpha numérique automatique

n°2330290
charben
Simplifier le complexe
Posté le 10-03-2019 à 21:09:10  profilanswer
 

Bonjour à tous. Je suis débutant en VBA.
Je vous envoie un fragment de fichier de planification pour lequel je voudrais mettre le code des tâches (colonne A) sous les lignes de façon automatique car le fichier réel renferme un nombre important de lignes similaires.
Les tâches sont identifiées par les lignes dont la colonne C est vide
J'ai imaginé l'algorithme suivant:  
Si la cellule CX est non vide copy la cellule AX de la même ligne et colle dans AX+1 et concaténer avec ".1"
Incrémente ensuite  .2; .3; ... tant que la cellule "C" de la même ligne est vide, jusqu'à rencontrer une cellule non vide de la colonne A  
Si tu rencontres une cellule non vide dans la colonne A, Copie la cellule; décale d'une ligne vers le bas, Colle et concaténer avec ".1"
Incrémente ensuite .2; .3 .... tant que la cellule "C" de la même ligne est vide, jusqu'à rencontrer une cellule non vide de la colonne A
 
Arrête lorsque tu rencontres la cellule qui contient "Total" .
 
J'ai joint le fichier initial (fichier planning) et le résultat que je souhaite avoir( fichier résultat)
J'ai commencé ceci mais la phase pour incrémenter m'est difficile car je ne sais pas indiquer comment s'arrêter si la cellule n'est pas vide et reprendre.
 
 
 
 
Si quelqu'un peut m'aider je suis preneur. Merci d'avance.
[Sub incrémentercode()
Sheets (feuil1).Select  
Dim i As Integer
Do While Not IsEmpty(Cells(i, 3))
    Cells(i, 1).Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Select
     
  Cells(i + 1, 1).Select
     
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Cells(i + 1, 1) = Cells(i + 1, 1) & ".1"
 
Loop
    Do While IsEmpty (Cells(i, 3))
    Cells(i, 1).Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Select
     
   
Loop
End Sub][/cpp]


---------------
Gagnons du temps
mood
Publicité
Posté le 10-03-2019 à 21:09:10  profilanswer
 

n°2330312
master1551
Posté le 11-03-2019 à 12:46:33  profilanswer
 

Salut,
 
Envoie ton fichier....


---------------
https://500px.com/3enzam1n

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Code alpha numérique automatique

 

Sujets relatifs
Problème code pour un lecteur radio en html5Code (chatbot) incompris
Recherche dans le code source[PYTHON] Stocker du code dans une base de données
creer un userform uniquement par code vb dans outlookcode HTML d'un bouton bas / haut de page dans Google site
Ce code en AS3?programme de simulation automatique
recherche script planing avec qr code[OpenGL] Installation de OpenGL sur Code::blocks en c++
Plus de sujets relatifs à : Code alpha numérique automatique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR