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 ecrire dans la 1 ère cellule en haut a droite


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
    Directeur technique
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut VBA ecrire dans la 1 ère cellule en haut a droite
    Bonjour je suis entrain de développer un fichier pour mon travail néanmoins je suis un peu bloqué.
    J'aimerais que lors de l'appui du bouton le textbox 1 s'affiche dans le fichier "suivi" dans la cellule A1 puis B1 etc jusque I1 puis aille a A2 (chaque appui du bouton valider)

    Pouvez vous m'aider
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 683
    Par défaut
    Bonjour,

    les fichiers contenant des macros sont bloqués au téléchargement de mon bord.

    Pourrais-tu nous indiquer si la logique disponible dans la te conviendrait :
    https://excel.developpez.com/faq/?pa...reLigneNonVide
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut
    oui cela me convient pouvez vous m'envoyer un code adapté a ma situation ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 683
    Par défaut
    Comme déjà évoqué, je suis aveugle par rapport à ton fichier Excel.

    La syntaxe générale à adapter toutefois serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'a intégrer dans une boucle do while par exemple
    dim iLig As Integer
    iLig = 1
    'determine le numero de colonne "la plus à droit remplie"
    Dim iCol As Integer
    iCol=Range("J" & iLig).End(xlToLeft).Column
    if iCol = 9 Then
    'cas de la colonne I remplie, on va à la ligne suivante
    iLig = iLig +1
    Else
    Cells(iLig, iCol+1).value = "Ta nouvelle valeur"
    End If
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Le plus simple reste d'utiliser la numérotation interne des cellules d'une plage --->> exemple avec un bouton de commande commandbutton1 (à analyser, comprendre et adapter) --->>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private plage As Range
    Private Sub CommandButton1_Click()
      Static ou As Long
      ou = ou + 1
      If plage Is Nothing Then Set plage = Range("A1:I" & Rows.Count)
      plage(ou) = "coucou"
    End Sub
    EDIT : il ressort par ailleurs de la relecture du premier message que les cellules remplies concernées sont des constantes et qu'elles sont sans solution de continuité. Et dans ce cas, c'est très simple --->>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private plage As Range
    Private Sub CommandButton1_Click()
      Dim plage As Range, ou As Long
      If plage Is Nothing Then Set plage = Range("A1:I" & Rows.Count)
      ou = WorksheetFunction.CountA(plage) + 1
      plage(ou) = "un coucou en " & plage(ou).Address(False, False)
    End Sub

  6. #6
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut
    Bonjour jean philippe !
    Tout fonctionne sauf le retour a la ligne

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour

    Avec 10 contrôles (TextBox1, TextBox2 … TextBox10), de façon classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    With Sheets("suivi")
      Dim dl As Long
      dl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      For n = 1 To 10
        .Cells(dl, n) = Me("TextBox" & n)
      Next
    End With
    ...
    Remarque : sans tenir compte des formats de cellule, sinon c'est une autre histoire ...

Discussions similaires

  1. [AC-2003] VBA Ecrire dans une boite de dialogue
    Par Abyssin dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/07/2011, 10h02
  2. [VBA] Ecrire dans une Zone de texte bloquée
    Par damsmut dans le forum Général VBA
    Réponses: 3
    Dernier message: 05/11/2009, 10h41
  3. [VBA] ecrire dans cellules filtrées
    Par Yannv dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/10/2007, 21h43
  4. [OpenOffice][Tableur] Ecrire dans une plage de cellule
    Par jmjmjm dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 08/05/2007, 15h20
  5. [VBA-E] Ecrire dans une cellule sans écraser son contenu
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2007, 16h43

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