Nombre de ligne max 65.000 ? Comment passer a l'autre colonn

Bonjour

Le max est 65.000 lignes donc je dois intégrer une fonction qui passe au autre colons

Si on rempli une colonne " A "avec des saut de ligne via une boucle For

Je doit insérer ce code juste apres le dernier next?

Ex: if i = 65000

sheet ... B

?

Comment définir la syntaxt qui défini la dernière ligne d'un classeur ?

Merci et très bonne journée

Salut le forum

En utilisant la propriété Row

ActiveCell.Row

Mytå

Bonjour, Salut Mytå,

Utilise ce test pour voir si tu est arrivé à la dernière ligne d'une colonne active :

If ActiveCell.Row = Rows.Count Then

Bonjour tou(te)s

Sur Excel 2007 : 1 048 576 lignes et 16 384 colonnes

Limites Excel 2007

Comment tu importe les données. ?

Poste le code de ta macro.

A+

Salut

Je n'est pas de données c'est juste pour mentrainer.

 if A65000 If ActiveCell.Row
 sheet A1
Else 
  if B65000 If ActiveCell.Row
      sheet B1 
    And Else 
       sheet C1

En gros

si A65000 est.vide en ecri en A1

sinon

Si B65000 est vide on écrit en B1

Sinon

on écrit en C1

la syntaxe est exacte est-elle un peut près sa ?

NON, ce n'est absolument pas ça. tout est faux

Bon entrainement.

A+

EDIT :

Mais comme j'ai 'bon coeur' tu peu t’entraîner sur ce code...

Option Explicit

Const TourneA = 10

Sub ChercheColonne()
Dim Lig As Long, Col As Integer
    Col = 1
    Do While Cells(Rows.Count, Col).End(xlUp).Row >= TourneA
        Col = Col + 1
    Loop
    Cells(Cells(Rows.Count, Col).End(xlUp).Row + 1, Col).Select
End Sub

Pour que tu n'ai pas à tester jusqu'aux ligne 65000 j'ai mis la constante à 10

Ca veux dire que

Si la dernière cellule renseignée de la colonne A est > A10 passe à la colonne B

Si B10 pas vide passe à C et ainsi de suite...

Tu peu modifier la constante TourneA comme tu veux.

Salut

Tu ma donnée du fil a retordre =D toi O_O

Pour moi se n'est même plus de l'anglais.. Presque du binaire 001001101110 ...

Si j'essaie de le déchiffrer seul sa me prendrais 1.30h

Tu peus l'expliquer en langage pseudo code s'il te plais ?

Ps: a la place d'une constante on aurait très bien pu mettre une variable (sauf qu'une constante reste inchangé (ou le contraire). )

001010100010110+


Mais comment précise t'on la référence de la première colonne ex: A ??

Je n'est pas de données c'est juste pour mentrainer.

Behhh.. je répond à ton souhait... entraîne-toi.

Tu double-clic sur les mots de la syntaxe..et tu tape F1.

L'aide est IMPORTANTE pour avancer dans ta connaissance.

A+

Merci

tu va mieux comprendre pourquoi je n'arrive pas a comprendre comment employer ton code.

Voici le code que je compte utiliser : trois boucle qui génére des chiffres dans A.

[Sub permuta()
    Dim RangeA As Range, RangeB As Range, RangeC As Range
    Dim Ca As Range, Cb As Range, Cc As Range
    Dim i As Long

    Set RangeA = ActiveSheet.Range("A1", "A3")
    Set RangeB = ActiveSheet.Range("B1", "B3")
    Set RangeC = ActiveSheet.Range("C1", "C3")
    i = 0
    For Each Ca In RangeA
        For Each Cb In RangeB    '
            For Each Cc In RangeC
                Sheets("Feuil2").Range("A1").Offset(i, 0) = "'" & Ca.Value & Cb.Value & Cc.Value
                i = i + 1
            Next Cc
        Next Cb
    Next Ca

End Sub
/code] 

dois-je changer la base de ce code si je veus y ajouter le tient ... Une piste?  Comment faire en fonction de sa [code]
                Sheets("Feuil2").Range("A1").Offset(i, 0) = 

Exemple jusque la ligne 10 colonne C

Option Explicit

Const TourneA = 10 'maximum 1 048 576
Const MaxColonne = 3  'maximum 16 384

Sub ChercheColonne()
Dim Lig As Long, Col As Integer
    Col = 1
    Do While Col <= MaxColonne
        For Lig = 1 To  1048576
            If Lig <= TourneA Then Cells(Lig, Col) = Cells(Lig, Col).Address Else Exit For
        Next Lig
        Col = Col + 1
    Loop
End Sub

J'espère que cette fois tu a compris.

Et je ne te conseille pas d'aller jusqu'aux maximums si tu veux pas que ça dure 2hrs pour remplir la feuille

A+

EDIT : Huumm .. C'est moi qui n'avais pas compris.

Salut le forum

Ton code modifié

Sub permuta()
Dim RangeA As Range, RangeB As Range, RangeC As Range
Dim Ca As Range, Cb As Range, Cc As Range
Dim i As Long, j As Integer

    Set RangeA = ActiveSheet.Range("A1", "A8")
    Set RangeB = ActiveSheet.Range("B1", "B8")
    Set RangeC = ActiveSheet.Range("C1", "C8")
    i = 0: j = 0

    For Each Ca In RangeA
        For Each Cb In RangeB    '
           For Each Cc In RangeC
                Sheets("Feuil2").Range("A1").Offset(i, j) = "'" & Ca.Value & Cb.Value & Cc.Value
                i = i + 1
                If i > Rows.Count Then i = 0: j = j + 1
            Next Cc
        Next Cb
    Next Ca

End Sub

Mytå

Bonsoir

Pas évident mais bon je crois savoir:

Si je colle ton code et mon code j'aurai deux Sub. Et ainsi comme sa le max de ligne permet de stoper a 10 lignes et 3colonnes)

Mais moi je voulais qu'au contraire sa continue après 10ligne sa passe a la celule de droite encore et encore jusqua 3colonnes.

Comme sa Sheets("Feuil2").Range("$Col").Offset(i, 0) = 

J'ai changer

("A").

par

("$Col").

Pour prendre la variable colonne A B C chacun son tour les 10 lignes

???

Salut

Re le forum

Pour changer au bout de 10 lignes (NbLig = 10)

Sub PermutaNbLig()
Dim RangeA As Range, RangeB As Range, RangeC As Range
Dim Ca As Range, Cb As Range, Cc As Range
Dim i As Long, j As Integer, NbLig As Long

    Set RangeA = ActiveSheet.Range("A1", "A8")
    Set RangeB = ActiveSheet.Range("B1", "B8")
    Set RangeC = ActiveSheet.Range("C1", "C8")
    i = 0: j = 0: NbLig = 10

    For Each Ca In RangeA
        For Each Cb In RangeB    '
          For Each Cc In RangeC
                Sheets("Feuil2").Range("A1").Offset(i, j) = "'" & Ca.Value & Cb.Value & Cc.Value
                i = i + 1
                If i > NbLig Then i = 0: j = j + 1
            Next Cc
        Next Cb
    Next Ca

End Sub

Mytå

Bonsoir

Je te remercie le code devient plus évident maintenant.

la variable J correspond au colonnes.

Je vais test.

Rechercher des sujets similaires à "nombre ligne max 000 comment passer colonn"