Re: sortir d'une boucle en fin de tableau | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 22-09-2011 11h00
Bonjour,
Merci pour ton aide. En fait je pense que le test : If Application.Max(.Range("A" & lg.Row).EntireRow) <> " " Then Ne fonctionne pas, j'utilise ce test pour sortir de ma boucle quand on atteint la fin du tableau c'est à dire la derniére ligne ou il y a quelque chose, aprés c'est les lignes vide de la feuille. En faisant le débogage je voit qu'il se contante de prendre toutes les lignes de 1 à la fin de la feuille. avec ce test je veux qu'il sélectionne toutes les lignes active et quand il rencontre la ligne vide il sort de la boucle. si il y a un autre moyen de prendre que les lignes actives ??? Cordialement. |
|
|
sortir d'une boucle en fin de tableau | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 21-09-2011 16h52
Bonjour à toutes et tous.
dans mon appli je prend toutes les lignes non vide en colonne A. quand j'arrive aprés la derniére ligne non vide J'ai les lignes normal d'Excel non actives. Je cherche le moyen de sortir de la boucle aprés ma derniére ligne, je met en exemple ma boucle car j'ai du mal a envoyer un fichier joint. d'avance merci si quelqu'un me donne la soluce. --------------------------------------------------------------------- Dim j As Integer j = 1 With Feuil3 For Each lg In .UsedRange.Rows 'pour chaque ligne de la colonne A If Application.Max(.Range("A" & lg.Row).EntireRow) <> " " Then 'si la valeur est differente de rien Sheets("Feuil3").Select ' copier les cellules a,b,c,d feuil3 Range("A" & j, "D" & j).Select Selection.Copy Sheets("Données").Select ' allez Feuil=données, coller dans a2,b2,c2,d2 Range("A2").Select Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False j = j + 1 End If Next End With ---------------------------------------------------------------------- |
|
|
Re: C'est pour une boucle recopie de cellule d'une à une autre | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 20-09-2011 13h10
|
|
|
C'est pour une boucle recopie de cellule d'une à une autre | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 20-09-2011 13h04
Bonjour a toutes et tous MDF.EXCEL
Je continue à m'instruire sur cet outil que j'apprécie de plus en plus. J'avance petit à petit, j'ai un souci, dans une feuille je fait une boucle pour recopier toutes mes lignes vers une feuille intermédiaire qui me sert a reformater cette ligne, puis je recopie le tout dans la feuille définitive, cela fonctionne à peut prés mais à l'arrivée je n'ai pas le bon compte, 25 lignes sur 75 alors que je les veux toutes. ça m'énerve et je commence à suer des doigts, ou est l'erreur ?? Je met mon projet en ligne pour tester ma MACRO ( recop01) on peut se mettre sur n'importe quelle feuille) Merci d'avance pour votre aide ' comme dab' |
|
|
selection cellule suivant contenu dans boucle IF | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 06-09-2011 14h33
Bonjour à tous,
Je suis nouveau sur la programmation VBA. J'ai un petit souci de syntaxe dans une boucle IF. Voila sur un tableau je selectionne une premiere fois une ligne en fonction du contenu de la colonne G en Feuil3, si il y a la phrase ' A planifier' je delete la ligne voir exemple. ----------------------------------------------------------------- Sheets("Feuil3").Select Dim cel As Range, i% For i = [G5].End(xlUp).Row To 1 Step -1 If Cells(i, "g") = "A planifier" Then Rows(i).Delete Next i On Error Resume Next Range("g1:c" & [g3000].End(xlUp).Row) _ .SpecialCells(xlCellTypeBlanks).EntireRow.Delete ------------------------------------------------------------------ Apparement il ne trouve pas. et enfin je voudrais faire la même chose avec la date par exemple en colonne G Feuil3, si il y a une date inférieure à la date du jour par exemple : ------------------------------------------------------------------ Sheets("Feuil3").Select Dim cel As Range, i% For i = [G5].End(xlUp).Row To 1 Step -1 If Cells(i, "g") < "03/03/08" Then Rows(i).Delete Next i On Error Resume Next Range("g1:c" & [g3000].End(xlUp).Row) _ .SpecialCells(xlCellTypeBlanks).EntireRow.Delete ------------------------------------------------------------------ et si la cellule G est vide je delete aussi la ligne. Bien sur je crois que les syntaxes ne sont pas bonnes. Je joint mon projet, la macro c'est testcopy1 Si quelqu'un peut m'aider je l'en remercie d'avance. Et bon courage à tous. Cordialement |
|
|
Re: Message Excel en cours de Macro | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 05-09-2011 15h07
Rebonjour, si j'avais bien regarder sur le forum j'avais la réponse, désolé Donc il faut mettre en début de macro : Application.DisplayAlerts = False Et a la fin : Application.DisplayAlerts = true Je vais donc m'autocloturer Bon courage à tous |
|
|
Message Excel en cours de Macro | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 05-09-2011 14h56
' |
|
|
Re: Insertion ligne pour aller a aprés la dernière ligne. | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 31-08-2011 15h26
Re bonjour a toutes et tous.
voila ou j'en suis, encore un petit soucis . Bonjour tout le monde Je remet l'ouvrage sur le métier. Ma macro pour faire un rajout de ligne c'est O.K, par contre je fait toujour l'insert a la même ligne parce-que je l'adresse en direct. peut'on mattre une variable qui collecte la derniére ligne active = Sub InserLgn1() ' ' InserLgn1 Macro ' Macro enregistrée le 29/08/2011 par ramarc ' ' Touche de raccourci du clavier: Ctrl+i ' Range("B12").Select Selection.EntireRow.Insert Sheets("Feuil2").Select Range("A2:K2").Select Selection.Copy Sheets("Feuil1").Select Range("B12").Select ActiveSheet.Paste Range("B12").Select End Sub Merci pour votre indulgence. Je met en piéce jointe mon projet. |
|
|
Re: Utilisation de la maginfique macro Calendrier de Mr. Fourgeot | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 31-08-2011 15h24
Re bonjour je me suis gourer, je ferme pour le calendar et je creer un nouveau sujet. |
|
|
Re: Utilisation de la maginfique macro Calendrier de Mr. Fourgeot | ||
---|---|---|
Inscription: 24/08/2011
Messages:
54
Système d'exploitation: PC Version Excel utilisée: OFFICE EXCEL 2007 |
Posté le : 31-08-2011 15h22
Bonjour tout le monde
Merci pour votre aide. J'ai trouvé, avec la version CALENDAR cela fonctionne. Je remet l'ouvrage sur le métier. Ma macro pour faire un rajout de ligne c'est O.K, par contre je fait toujour l'insert a la même ligne parce-que je l'adresse en direct. peut'on mattre une variable qui collecte la derniére ligne active = Sub InserLgn1() ' ' InserLgn1 Macro ' Macro enregistrée le 29/08/2011 par ramarc ' ' Touche de raccourci du clavier: Ctrl+i ' Range("B12").Select Selection.EntireRow.Insert Sheets("Feuil2").Select Range("A2:K2").Select Selection.Copy Sheets("Feuil1").Select Range("B12").Select ActiveSheet.Paste Range("B12").Select End Sub Merci pour votre indulgence. Je met en piéce jointe mon projet. |
|
|