IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-excel] Affecter une date à la première cellule pleine


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut [VBA-excel] Affecter une date à la première cellule pleine
    Bonjour,

    Explication/Exemple :

    Je suis à la ligne 10 colonne G, je cherche la première cellule pleine de cette ligne, j'arrive donc à la ligne 10 colonne Z. Arrivé là, je veux lire la date (situé à la ligne 5 de cette même colonne). Je veux copier cette date et la coller à la ligne 10 colonne B.

    Il peut y avoir 1000 lignes, l'objectif final est de faire un tri par date de la colonne B.


    Aidez moi s'il vous plait,

    merci



    ETAT D'AVANCEMENT : 100%

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub datedébut()
     
    'lecture de la première cellule pleine d'une ligne
     
    Dim i, j As Variant
     
    For i = 15 To 1000
     
    For j = 7 To 255
     
      If Cells(i, j).Value <> "" Then Exit For
     
    Next j
     
    'Affecter la valeur X de la cellule Y à partir de la cellule Z
     
    datecherchee = Cells(8, j).Value    'cellule Z
    Cells(i, 5).Value = datecherchee    'cellule Y
     
    Next i
     
    End Sub

  2. #2
    Membre éclairé
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Par défaut
    C'est pas très clair ta question

    tu veux pas montrer un peu ton code?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    C'est en cours mais j'ai du mal à commencer...

    Je le mets dès que ca ressemble à quelque chose

  4. #4
    Membre éclairé
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Par défaut
    en fait ton objectif c'est de parcourir ta feuille (de long en large ou de haut en bas?)

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim i as Integer
    i = 1
    Do
    i = i+1
    Loop Until thisWorkbook.sheets("MaFeuille").cells(i,1) <> ""

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Je parcours mon classeur de ligne en ligne, à chaque ligne, il y aura une date à affecter...

    Merci de ton aide en tout cas, je crois que je me complique la vie :p

  6. #6
    RLX
    RLX est déconnecté
    Membre éclairé Avatar de RLX
    Inscrit en
    Octobre 2004
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 51
    Par défaut
    Salut DVano,
    Si j'ai bien compris ce que tu veux faire je te conseille déjà de partir de la fin de ta liste de céllule sinon tu va parcourir toute la feuille excel et ça va te prendre du temps pour rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MaCellule = Range("A65536").End(xlUp)
    ensuite tu peux utiliser une boucle pour parcourir toute les cellules de ta feuille du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Compteur = MaCellule.Row
    For i = 0 To Compteur - 1
        If MaCellule.Offset(-i, 0).Value <> "" Then
            MaCellule.Offset(-i, 0).Value = Date
        End If
    Next i

  7. #7
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Bon, je vais éclaircir au maximum ma situation :

    Je travail sur un planning, j'ai donc un calendrier, des ressources et des taches affectées à ses ressources...

    Chaques lignes correspond à une tâches, cette tâche commence le XX/XX/XX, c'est la première cellule pleine (soit la date de début tâche) que je veux affecter dans une autre cellule...

    Voici l'avancement du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub datedébut()
     
    Dim i As Integer
    i = 15   'la cellule ou commence la lecture ?
    Do
    i = i + 1
    Loop Until ThisWorkbook.Sheets("MaFeuille").Cells(i, 7) <> ""
    ' 7 correspond à la colonne de début de lecture ?
     
     
     
    End Sub
    Je me rends compte que je suis vraiment débutant...

    Bon je vais potasser un peu (voir beaucoup) je ferai un état d'avancement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trier une plage de cellules
    Par Squelet dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 03/12/2019, 13h04
  2. [VBA-EXCEL] format de date lors d'écriture dans une cellule
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2007, 17h44
  3. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08
  4. [VBA-Excel] affecter la valeur infinie à une variable
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/09/2006, 21h37
  5. [VBA Excel] convertir une date francaise au format anglais
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2005, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo