> Tous les forums > Forum Bureautique
 se positionner avec une macro dans une cellule préciseSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
jmsch
  Posté le 19/08/2014 @ 23:32 
Aller en bas de la page 
Petit astucien

Bonjour,

j'ai besoin de me positionner dans la 1er ligne vide d'un tableau.
Pour ce faire j'utilise le bout de code ci dessous. Il fonctionne.

Range("A" & Cells(2000, 5).End(xlUp).Row + 1).Select

Maintenant dans un autre tableau les valeurs ont été trié en fonction de la couleur de la cellule. Les cellules de couleur en haut , les autres dessous.
Je voudrais me positionner dans la 1er ligne sous les cellules de couleur.

Merci

Publicité
ferrand
 Posté le 20/08/2014 à 00:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Je crains que la détection ne puisse se régler de la même façon, dans la mesure où la couleur n'est pas un critère utilisable avec la méthode SpecialCells, à laquelle on aurait pu penser, et qu'il faille en passer par une boucle pour trouver la première cellule non colorée.

n étant la dernière ligne de ta plage, renvoyée par ton code : n = Cells(2000, 5).End(xlUp).Row + 1)

on aurait quelque chose dans ce genre (si ta plage commence ligne 2 et si tu dois toujours tester sur la colonne E) :

For i = 2 to n
If Cells(i, 5).Interior.ColorIndex = xlColorIndexNone Then
Range("A" & i).Select
Exit For
End If
Next i

jmsch
 Posté le 21/08/2014 à 14:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour et merci

j'ai testé ton code.
Il fonctionne si les cellules ont une couleur. Dans mon cas la couleur provient d'une mise en forme conditionnel, donc ca ne fonctionne pas.
Y a peut être plus simple. Il faudrait tester les colonnes C et D et s'arrêter à la 1er cellules non vide rencontrée. C'est colonnes contiennent des nombres que je saisie manuellement.
En quelque sorte faire une synthèse des 2 lignes ci dessous. Je sais faire avec une colonne mais pas avec 2.
Si ou colonne C est non vide, ou colonne D est non vide je positionne le curseur juste dessous en A

Range("A" & Cells(2000, 3).End(xlUp).Row + 1).SelectRange("A" & Cells(2000, 4).End(xlUp).Row + 1).Select

ferrand
 Posté le 21/08/2014 à 14:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pour C et D :

Dim n(1) as Integer, i%

For i = 0 to 1
n(i) = Cells(2000, i + 3).End(xlUp).Row + 1
Next i
Range("A" & Iif(n(0) < n(1), n(0), n(1)).Select

Pour formats conditionnel, je regarderai, pas le temps maintenant.

jmsch
 Posté le 21/08/2014 à 21:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Il manque un jeux de parenthèse après le Iif autour du 1er élément de l'expression.
Range("A" & IIf((n(0) < n(1)), n(0), n(1))).Select

Pour le test, ça se positionne correctement uniquement si C et D contiennent tous les 2 des valeurs ce qui n'est pas mon cas.

Dans mon tableau il y a 4 possibilités, soit :
- C contient une valeur
- D contient une valeur
- C et D contiennent une valeur
- C et D sont vides
Moi je voudrais me positionner en A dans la 1er ligne vide, ligne ou C et D sont vide.

Encore Merci

ferrand
 Posté le 21/08/2014 à 23:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

En effet manquait une parenthèse (je tape directement dans le post et pas de compilateur qui me prévient de l'absence d'une élément de syntaxe...)

Si j'ai bien compris, pour avoir C et D à la fois, tu inverses la condition dans la fonction Iif => IIf(n(0) > n(1), n(0), n(1)).

ferrand
 Posté le 22/08/2014 à 01:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Et pour revenir sur les formats conditionnels, ça ne peut pas marcher, car les cellules qui répondent à la condition et celles qui n'y répondent pas ont le même format conditionnel. On ne peut donc tester sur ce format et ses propriétés. Il faut alors tester sur la même condition que celle qui aboutit à colorer lorsqu'elle est vraie.

jmsch
 Posté le 22/08/2014 à 22:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci pour ton aide.
Le positionnement avec les colonnes C et D que tu m'as donné me convient très bien même si je ne comprend pas tout son fonctionnement.

Si j'ai pu te froisser un peu avec l'histoire des parenthèses oublié, ce n'était pas mon intention.
J'ai juste corrigé afin que le post soit juste et aussi si un éventuel futur utilisateur veut l'utiliser.

Bonne soirée



Modifié par jmsch le 22/08/2014 22:24
ferrand
 Posté le 22/08/2014 à 23:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

jmsch a écrit :

Merci pour ton aide.
Le positionnement avec les colonnes C et D que tu m'as donné me convient très bien même si je ne comprend pas tout son fonctionnement.

Si j'ai pu te froisser un peu avec l'histoire des parenthèses oublié, ce n'était pas mon intention.
J'ai juste corrigé afin que le post soit juste et aussi si un éventuel futur utilisateur veut l'utiliser.

Bonne soirée

Pas de souci ! Si je me "froisse", 1) faut une raison... 2) je l'exprime directement ! Au cas particulier, j'ai simplement remarqué que pour ce type d'omission, si j'avais tapé dans un module, j'aurais eu une signalisation d'erreur en allant à la ligne... C'est d'ailleurs une des raisons pour lesquelles il est plus productif de disposer d'un modèle pour faire des propositions, cela évite des erreurs et permet de tester, cela permet aussi de faire des propositions plus ajustées à l'environnement du problème soulevé.

S'il y a des points sur lesquels tu t'interroge, il ne faut pas hésiter à demander...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
340,11 €Mini PC MINISFORUM UM300 (Ryzen 3 3300U, 16Go RAM, 512 Go SSD) à 340,11 € avec le code BGDKMN3
Valable jusqu'au 07 Mars

Banggood propose actuellement le mini PC MINISFORUM UM300 à 329,91 € avec le code promo BGDKMN3. Ce mini PC au format NUC d'Intel possède un processeur Ryzen 3 3300U avec chip graphique Vega 6, 16 Go de RAM DDR4 et un SSD de 512 Go. Il dispose d'une connectique complète : un emplacement 2,5 pouces libre (pour ajouter un disque dur ou un SSD supplémentaire, le WiFi6, le bluetooth 5.1, 3 ports USB 3.1, un port HDMI 2.0, un DisplayPort, deux ports Ethernet Gigabit et tourne sous Windows 10 que vous pourrez mettre en français. Il est livré avec une alimentation européenne. Branchez ce mini PC sur une TV ou un écran et vous avez un ordinateur discret et performant. Comptez 10,20 € pour l'assurance et la livraison soit un total de 340,11 € livré.

Ce marchand sérieux se trouvant en Chine, la livraison peut prendre une vingtaine de jours. Vous pouvez payer par carte bancaire ou par Paypal (conseillé pour bénéficier de la garantie Paypal).


> Voir l'offre
19,99 €Ecouteurs intra-auriculaires Aukey EP-T21 bluetooth à 19,99 € (via coupon)
Valable jusqu'au 08 Mars

Amazon fait une promotion sur les écouteurs sans fil intra-auriculaires Aukey EP-T21 bluetooth qui passent à 19,99 € grâce à un coupon de réduction à activer sur la page du produit. On les trouve habituellement à plus de 30 €.

Ces écouteurs sont discrets, légers, tiennent bien dans l'oreille et offrent une autonomie de 5h environ. Un micro est intégré. 3 modèles de protège-oreilles sous fournis s'adapter parfaitement à vos oreilles et à vos activités : vous pouvez tout à fait courir avec. Ils sont accompagnés de leur boitier de charge sans fil qui vous offre 4 charges supplémentaires, soit 25 heures de lecture au total. Une très bonne affaire !


> Voir l'offre
46,99 €SSD Crucial BX500 480 Go à 46,99 €
Valable jusqu'au 07 Mars

Amazon propose actuellement le SSD Crucial BX500 480 Go à 46,99 € livré gratuitement alors qu'on le trouve ailleurs à plus de 60 €. Ce SSD offre des débits de 540 Mo/s en lecture et 500 Mo/s en écriture. Le SSD est accompagné du logiciel Acronis true image qui vous permettra de transférer tout le contenu de votre ancien disque dur sur le SSD. Il est garanti 3 ans. 


> Voir l'offre

Sujets relatifs
Execution macro lors d'une saisie dans une cellule
Ouvrir avec macro un fichier dans autre classeur
Copier Coller dans Nouv Classeur avec Nom Cellule
afficher un calendrier dans une macro de cellule
Macro - déctecter un caractère dans une cellule
Suppress ligne avec cellule nommée en macro
cellule avec formule dans excel
Macro vers une cellule précise à un endroit précis
2 pages par feuille dans macro excel
Recopie cellule par macro
Plus de sujets relatifs à se positionner avec une macro dans une cellule précise
 > Tous les forums > Forum Bureautique