Macro pour sélectionner la première cellule vide d'une ligne.

Broch002

XLDnaute Occasionnel
Bonjour, le forum et surtout bonne et heureuse année 2013 à notre forum préféré.

Voila j'ai un tableau qui se rempli avec une macro allant chercher des informations dans une autre feuille.
Mon problème est qu'il devient très lourd, par le nombre de sélect et la macro énorme en taille = de 1000 lignes.
Actuellement j'utilise l'adresse de la cellule, la remplis et passe à le cellule suivante en la sélectionnant ainsi de suite avec son adresse, voir code suivant:

Range("N8").FormulaR1C1 = "='A-1'!R1C15""
Range("O8").FormulaR1C1 = "='A-1'!R1C16"
Range("P8").FormulaR1C1 = "='A-1'!R1C17"
Range("Q8").FormulaR1C1 = "='A-1'!R1C18"

Ce que je cherche à faire c'est de passer à la cellule suivante (dans l'exemple, passer de N8 à O8) sans avoir à la nommer, puis après avoir remplis les 4 cellules de la ligne 8, passer à la ligne 9, remplir les cellules N9 à Q9.
Puis à la ligne 10 etc.....

Pour passé à la première cellule vide de la colonne N j'ai trouvé ce code:

Sub PREMIERE_CELLULE_VIDE_COLLONE_N()
ActiveSheet.Cells(Rows.Count, "N").End(xlUp)(2).Select
ActiveCell.FormulaR1C1 = "='A-1'!R1C15"
End Sub

Mais pour le première cellule vide de la ligne, je n'ai rien trouvé :confused:.

Merci de votre aide.

Broch002
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro pour sélectionner la première cellule vide d'une ligne.

Bonjour et bonne année

tester ceci

Code:
Sub test2()
With ActiveSheet
    derlig = .Cells.Find(What:="*", _
                   LookIn:=xlFormulas, _
                SearchOrder:=xlByRows, _
         SearchDirection:=xlPrevious).Row
    dercol = .Cells.Find(What:="*", _
                   LookIn:=xlFormulas, _
             SearchOrder:=xlByColumns, _
     SearchDirection:=xlPrevious).Column
End With
Cells(derlig, dercol).Select
MsgBox "derl : " & derlig & "  dercol : " & dercol
End Sub
 

Broch002

XLDnaute Occasionnel
Re : Macro pour sélectionner la première cellule vide d'une ligne.

Bonjour, le forum et surtout bonne et heureuse année 2013 à notre forum préféré.

Voila j'ai un tableau qui se rempli avec une macro allant chercher des informations dans une autre feuille.
Mon problème est qu'il devient très lourd, par le nombre de sélect et la macro énorme en taille = de 1000 lignes.
Actuellement j'utilise l'adresse de la cellule, la remplis et passe à le cellule suivante en la sélectionnant ainsi de suite avec son adresse, voir code suivant:

Range("N8").FormulaR1C1 = "='A-1'!R1C15""
Range("O8").FormulaR1C1 = "='A-1'!R1C16"
Range("P8").FormulaR1C1 = "='A-1'!R1C17"
Range("Q8").FormulaR1C1 = "='A-1'!R1C18"

Ce que je cherche à faire c'est de passer à la cellule suivante (dans l'exemple, passer de N8 à O8) sans avoir à la nommer, puis après avoir remplis les 4 cellules de la ligne 8, passer à la ligne 9, remplir les cellules N9 à Q9.
Puis à la ligne 10 etc.....

Pour passé à la première cellule vide de la colonne N j'ai trouvé ce code:

Sub PREMIERE_CELLULE_VIDE_COLLONE_N()
ActiveSheet.Cells(Rows.Count, "N").End(xlUp)(2).Select
ActiveCell.FormulaR1C1 = "='A-1'!R1C15"
End Sub

Mais pour le première cellule vide de la ligne, je n'ai rien trouvé :confused:.

Merci de votre aide.

Broch002

J'ai trouver, ce code:

Sub DERNIERE_CELLULE_LIGNE()
ActiveCell.End(xlToRight).Select
End Sub

il sélectionne la première cellule non vide, ce que je cherche à faire, c'est de sélectionner celle qui ce trouve juste à droite de la cellule active.
 

Broch002

XLDnaute Occasionnel
Re : Macro pour sélectionner la première cellule vide d'une ligne.

Bonjour et bonne année

tester ceci

Code:
Sub test2()
With ActiveSheet
    derlig = .Cells.Find(What:="*", _
                   LookIn:=xlFormulas, _
                SearchOrder:=xlByRows, _
         SearchDirection:=xlPrevious).Row
    dercol = .Cells.Find(What:="*", _
                   LookIn:=xlFormulas, _
             SearchOrder:=xlByColumns, _
     SearchDirection:=xlPrevious).Column
End With
Cells(derlig, dercol).Select
MsgBox "derl : " & derlig & "  dercol : " & dercol
End Sub

Je viens d'essayer ce code. Il me renvoie à la cellule U72, avec un textbox :confused:

Ce que cherche à faire est de passer en active, la cellule à droite de celle précédemment remplie par la macro.

Merci de votre collaboration.

Broch002
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Macro pour sélectionner la première cellule vide d'une ligne.

je ne cherche pas .......
le textbox est normal il est inscrit dans le code

Code:
Sub DERNIERE_CELLULE_LIGNE()
    ActiveCell.End(xlToRight).Select
End Sub

ce code indique la première cellule a droite
xltoleft c'est a gauche
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro pour sélectionner la première cellule vide d'une ligne.

Je viens d'essayer ce code. Il me renvoie à la cellule U72, avec un textbox :confused:

Ce que cherche à faire est de passer en active, la cellule à droite de celle précédemment remplie par la macro.

Merci de votre collaboration.

Broch002

si le code vous met sur U72 c'est que la dernière ligne ecrite est la 72
et que la dernière colonne ecrite est U (soit la n°21)
 

Broch002

XLDnaute Occasionnel
Re : Macro pour sélectionner la première cellule vide d'une ligne.

Bonsoir,

Je pense avoir trouver, cela fonctionne dans mon fichier.
Code:

Sub RENDRE_ACTIVE_CELLULE_DROITE_LIGNE()
ActiveCell.Offset(0, 1).Select
End Sub

Merci à vous tous.
 

Discussions similaires

Réponses
2
Affichages
244

Statistiques des forums

Discussions
312 115
Messages
2 085 451
Membres
102 889
dernier inscrit
monsef JABBOUR