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 :

Première cellule vide d'une ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 16
    Par défaut Première cellule vide d'une ligne
    Bonjour je cherche à copier à la suite des données sur une ligne donc à chaque fois à la première cellule vide d'une ligne.

    Voici le code que j'ai essayé de faire mais rien ne ce passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CodeAna()
    Dim i As Long, derniereligne As Long
    With ThisWorkbook
    derniereligne = .ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To derniereligne
    If .ActiveSheet.Range("P" & i) = .ActiveSheet.Range("P" & i + 1) Then
        .Worksheets("Feuil2").Cells(4, Columns.Count).End(xlToLeft).Value = .ActiveSheet.Range("S" & i).Value
    Else
    Exit For
    End If
    Next
    End With
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour:

    essaye comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CodeAna()
    Dim i As Long, derniereligne As Long
    With ThisWorkbook
    derniereligne = .ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To derniereligne
    If .ActiveSheet.Range("P" & i) = .ActiveSheet.Range("P" & i + 1) Then
        .Worksheets("Feuil2").Cells(4, Columns.Count).End(xlToLeft).offset(0,1).Value = .ActiveSheet.Range("S" & i).Value
    Else
    Exit For
    End If
    Next
    End With
    End Sub
    Cells(4, Columns.Count).End(xlToLeft) renvoie toujours sur la même cellule tu écrase donc ta valeur a chaque itération, il faut donc décaler d'une colonne a chaque fois (d'où le offset)

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Bonjour,

    Cette question a été posée de nombreuses fois il me semble.

    Pour ce problème je raisonnerais uniquement en termes de lignes en définissant juste la dernière ligne cela me paraît encore plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim DerniereLigne, NombreCopies As Integer
    ...
    For i = 1 To NombreCopies
    DerniereLigne = ActiveSheet.UsedRange.Rows.Count + 1 'évalué à chaque itération
    'CODE DE COPIE ICI
    Next
    note : ThisWorkbook ne fonctionnera pas si tu veux exécuter ta macro dans un autre classeur

    ThisWorkbook -> classeur de la macro
    ActiveWorkbook -> classeur actif

Discussions similaires

  1. [XL-2010] Sélectionner la première cellule vide d'une ligne
    Par RMA1969 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/10/2013, 14h50
  2. [XL-2007] Sélectionner la première cellule vide sur une ligne.
    Par Rémy A. dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/07/2013, 14h22
  3. Trouver la première cellule remplie d'une ligne
    Par nicacc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/08/2008, 15h16
  4. Réponses: 7
    Dernier message: 11/09/2006, 11h33
  5. [VBA-E] cellules vide sur une ligne
    Par bricereyem dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 12/06/2006, 21h20

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